- ベストアンサー
エクセルの差し込み印刷設定について
- エクセルのVLOOKUPの印刷方法についてですが、シート(1)(データ1~100)をシート(2)(個表)にVLOOKUP(1~100までの個表を番号入力でデータを表示する)で作成したあと1~100までの個表をいっきに印刷をする方法を教えてください。
- マクロでよければ Sub test() Dim a As Range Dim i As Long With Worksheets("個表") Set a = Range("a1") '番号入力用セルの設定 For i = 1 To 100 a.Value = i ActiveSheet.PrintOut Next i End With End Sub
- 条件が違うのが、データが1からはじまるのですが、100まで等の終わりが決まっていない点です。リストの最後の数値までを印刷する等の設定は可能でしょうか?また、それぞれのシートを3枚ずつ印刷する設定も可能でしたら知りたいのですが。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば、InputBox で数字を聞くという方法はどうでしょうか。 > Application.Wait Now + TimeSerial(0, 0, 2) '2秒のウェイトを置く ウェイトの2秒が適しているかは何とも言えませんが、なるべく、マクロを止める方法は残しておいたほうがよいと思います。ウェイトはいらなくても、かならず、DoEvents は残しておいてください。 '// Sub Test1() Dim i As Long, j As Long Dim LastCnt As Long Dim ret As Variant Const PCNT As Integer = 3 '回数 With ActiveSheet 'シート ret = Application.InputBox("枚数を入れてください。", Type:=1) If ret < 0 Or VarType(ret) = vbBoolean Then Exit Sub LastCnt = ret For i = 1 To LastCnt For j = 1 To PCNT .Range("A1").Value = i .PrintOut , Preview:=True DoEvents Application.Wait Now + TimeSerial(0, 0, 2) '2秒のウェイトを置く,なくても良い Next j Next i End With End Sub
その他の回答 (1)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>データが1からはじまるのですが、100まで等の終わりが決まっていない 点です。リストの最後の数値までを印刷する等の設定は可能でしょうか? For i = 1 To WorksheetFunction.Max(Range("A1:A20")) のように変更する。 >また、それぞれのシートを3枚ずつ印刷する設定も可能でしたら知りたいのですが。 For i = 1 To 100 Step 3 のように最後に3ごとに数字を増加させる設定にして 番号を入力するbとcのセル番地を指定して b.Value = i +1 c,Value = i +2 の2つのコードを追加してください。
お礼
ありがとうございます。試してみます。
お礼
ありがとうございます。早速試してみます。
補足
ありがとうございました。今日やってみたところほぼ思いどおりに印刷できました。 3枚同じものを印刷する時に1枚目にはA、2枚目にはB、3枚目にはCなどと ヘッダーを入れたいと思っているのですが、それは可能でしょうか? よろしくお願いします。