Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
差し込み印刷の連続印刷〜続〜
投稿日時: 20/01/10 11:54:53
投稿者: ひろやまさん

以前、
 
ーーーー
質問です。
差し込み印刷の連続印刷をしたいのですが、
例えば、A列に
   
あああ
いいい
ううう
   
とあった場合に、
   
これを反映
別のシートで作られた・・・例えば、C1に「あああ」と参照させて、連続印刷する方法はございますか?
 
 
という質問をして、simpleさんにvbaを作っていただいたものを参考にさせて、
 
 
−−−
Sub test2()
    Dim wsリスト As Worksheet
    Dim ws印刷 As Worksheet
    Dim k As Long
    Dim g As Long
    Dim s
 
    ActiveSheet.Select
    ActiveSheet.Copy Before:=Sheets(1)
    ActiveSheet.Name = "印刷"
 
 
    Set wsリスト = Worksheets("Sheet1")
    Set ws印刷 = Worksheets("印刷")
    k = 1
    Do
        s = wsリスト.Cells(k, "A").Value
        If s = "" Then Exit Do
        ws印刷.Range("h1").Value = s
        ws印刷.PrintOut
        k = k + 1
 
     
     
     
        g = 1
 
        s = wsリスト.Cells(g, "B").Value
        If s = "" Then Exit Do
        ws印刷.Range("c1").Value = s
        ws印刷.PrintOut
        g = g + 1
        Range("c1").NumberFormatLocal = "yyyy""年""m""月"""
 
        Range("h1").Font.Name = "MS ゴシック"
        Range("h1").Font.Size = 15
    Loop
     
     
     
     
    Application.DisplayAlerts = False
 
    With ActiveSheet.PageSetup
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
 
 
Sheets("印刷").Delete
 
End Sub
 
------
 
という感じ変更したのですが、どういうわけか、2枚ずつ、同じものが出てきてしまいます。。。
 
何がおかしいのでしょうか?
 
※simple様、以前は回答を頂き、ありがとうございました!!

回答
投稿日時: 20/01/10 17:33:56
投稿者: WinArrow
投稿者のウェブサイトに移動

>何がおかしいのでしょうか?
ステップ実行してみれば、流れが確認できますよ!
 

投稿日時: 20/01/14 11:16:30
投稿者: ひろやまさん

原因がわかりました。
printoutが2つあったので、一つ削除したら、治りました!
 
Sub test2()
    Dim wsリスト As Worksheet
    Dim ws印刷 As Worksheet
    Dim k As Long
    Dim g As Long
    Dim s
 
    ActiveSheet.Select
    ActiveSheet.Copy Before:=Sheets(1)
    ActiveSheet.Name = "印刷"
 
 
    Set wsリスト = Worksheets("Sheet1")
    Set ws印刷 = Worksheets("印刷")
    k = 1
    Do
        s = wsリスト.Cells(k, "A").Value
        If s = "" Then Exit Do
        ws印刷.Range("h1").Value = s
   
        k = k + 1
 
     
 
     
        g = 1
 
        s = wsリスト.Cells(g, "B").Value
        If s = "" Then Exit Do
        ws印刷.Range("c1").Value = s
    
        g = g + 1
        Range("c1").NumberFormatLocal = "yyyy""年""m""月"""
 
        Range("h1").Font.Name = "MS ゴシック"
        Range("h1").Font.Size = 15
     ws印刷.PrintOut
 Loop
     
     
     
     
    Application.DisplayAlerts = False
 
    With ActiveSheet.PageSetup
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
 
 
Sheets("印刷").Delete
 
End Sub