プロが教える店舗&オフィスのセキュリティ対策術

No.4800906で質問者:bom_baye様がご質問されていることと同じ内容で困っています。
ほとんどは、ご回答者:hige_082様の回答内容の通りで実施可能でした。ただ、
条件が違うのが、データが1からはじまるのですが、100まで等の終わりが決まっていない
点です。リストの最後の数値までを印刷する等の設定は可能でしょうか?
また、それぞれのシートを3枚ずつ印刷する設定も可能でしたら知りたいのですが。
以下、質問と回答をそれぞれ引用させていただきます。何卒よろしくお願いします。

bom_baye様の質問内容を引用させていただきます。
---------------------------------------------------------------------------------
エクセルのVLOOKUPの印刷方法についてですが、シート(1)(データ1~100)をシート(2)(個表)にVLOOKUP(1~100までの個表を番号入力でデータを表示する)で作成したあと1~100までの個表をいっきに印刷をする方法を教えてください。現状は個表の表は1つだけ作成していますので、1~100までの番号を随時入力して印刷しなければなりません。ご回答よろしくお願いします。
---------------------------------------------------------------------------------

次にhige_082様の回答内容を引用させていただきます。
---------------------------------------------------------------------------------
マクロでよければ
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
---------------------------------------------------------------------------------

A 回答 (2件)

>データが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つのコードを追加してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。試してみます。

お礼日時:2011/01/09 20:53

例えば、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

この回答への補足

ありがとうございました。今日やってみたところほぼ思いどおりに印刷できました。

3枚同じものを印刷する時に1枚目にはA、2枚目にはB、3枚目にはCなどと
ヘッダーを入れたいと思っているのですが、それは可能でしょうか?

よろしくお願いします。

補足日時:2011/01/10 22:35
    • good
    • 0
この回答へのお礼

ありがとうございます。早速試してみます。

お礼日時:2011/01/09 20:52

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