|
▼IK さん:
こんにちは
具体的なレイアウトの説明がないので、テンプレートといいますかサンプルです。
以下のコードでは Sheet1 にあるデータのうち、開始指定行から終了指定行まで、
A列〜E列の5列分を、20行ずつ、Sheet2(フォーマットシート)の C3:G22 の 20行、5列に転記して
印刷しています。
開始指定行、終了指定行は、固定値で与えていますが、ここは IK さんのロジックで求めている値を
使ってください。
Sub Sample()
Dim pArea As Range
Dim f As Long
Dim t As Long
Dim z As Long
Dim flag As Boolean
Application.ScreenUpdating = False
Set pArea = Sheets("Sheet2").Range("C3:G22")
f = 10 '印刷すべきデータの開始行
t = 60 '印刷すべきデータの最終行
With Sheets("Sheet1") '元シート
Do
z = f + 20 - 1 'この印刷ブロックの最終行
If z >= t Then
z = t
flag = True
End If
pArea.ClearContents
pArea.Resize(z - f + 1).Value = .Range("A" & f & ":E" & z).Value
pArea.Parent.PrintOut
If flag Then Exit Do
f = z + 1
Loop
End With
pArea.ClearContents
Set pArea = Nothing
Application.ScreenUpdating = True
MsgBox "印刷終了"
End Sub
|
|