重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

以下のようなマクロを作りましたが、帳票を印刷すると1枚印刷されます。
ですが、この帳票がA5サイズの決まりがあり、かつプリンタがA4しか用紙を入れることができないので、
そのため、一度にA5サイズの帳票を2枚合わせた形で印刷をさせたいと考えています。

A4用紙に左側(名簿の1番目)右側(名簿の2番目)
次も、名簿の3番目・4番目と連続印刷をしたいのですが、どのようにすれば良いのでしょうか。
勉強不足で申し訳ございませんが、ご指南くださいますようお願いいたします。

Sub 帳票印刷()

Dim LastRow As Long
Dim i As Long
Dim myNo As Variant

With Worksheets("名簿")

LastRow = .Cells(Application.Rows.Count, "A").End(xlUp).Row


For i = 2 To LastRow
myNo = .Range("A" & i).Value

With Worksheets("印刷用")
.Range("C4").Value = myNo

.PrintPreview
.PrintOut Copies:=1, Collate:=True  

End With
Next i

End With
End Sub

A 回答 (2件)

>myNo1 の部分で、『変数の定義されていません』と


>メッセージが出てしまいます。

Dim myNo As Variant

Dim myNo1 As Variant
Dim myNo2 As Variant
となります。
ただ、本当に myNoにVariant型が必要?
とちょっと思うのですが。
    • good
    • 0

シート 印刷用に 用紙2枚分を配置します。


For i = 2 To LastRow Step 2
myNo1 = .Range("A" & i).Value
myNo2 = .Range("A" & i + 1).Value

With Worksheets("印刷用")
.Range("C4").Value = myNo1
.Range("K4").Value = myNo2
・・・

.Range("K4")は適当なセルです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速試してみましたが、私のやり方が悪いようで、
myNo1 の部分で、『変数の定義されていません』と
メッセージが出てしまいます。
すいません。本当に勉強不足で
教えていただけませんでしょうか?
よろしくお願いいたします。

お礼日時:2013/05/12 19:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!