|
▼mori さん:
>(前略)
>> With Worksheets(3)
>> '一時シートから行数を取得
>> lngMaxRow = Worksheets("TMP1").Cells(Rows.Count, 1).End(xlUp).Row
>> j = 1
>> For i = 31 To lngMaxRow
>> If j = 1 Then
>> ElseIf j Mod 29 = 1 Then
>> 'A列〜U列まで 29行をCopy
>> .Range("A4").Resize(29, 21).Copy .Cells(j + 3) ←この部分でエラーが出ます
>> With .Cells(j + 3).Resize(29, 21)
>> .RowHeight = 27
>> Worksheets(3).PageSetup.PrintArea = .Cells
>> End With
>> End If
>> j = j + 1
>> Next
>
>.Range("A4").Resize(29, 21).Copy.Cells(j + 3)
>A4から29行・21列コピーする
>pasteがないからか?と思ったのですが、うまくいきませんでした・・・
ごめんなさい。
その部分はノーチェックでした。
(ちょっと、この部分、何をやってるのか分からなかったです。)
オリジナルの
> With Worksheets(3)
> '一時シートから行数を取得
> lngMaxRow = Worksheets("TMP1").Range("A1").SpecialCells(xlLastCell).Row
> j = 1
> For i = 31 To lngMaxRow
> If j = 1 Then
> ElseIf j Mod 29 = 1 Then
> .Range("A4:U32").Copy
> lngRowY = j + 3
> lngRowX = j + 31
> strRangeValue = "A" & lngRowY & ":" & "U" & lngRowX
> .Range(strRangeValue).PasteSpecial xlPasteAll
> .Range(strRangeValue).RowHeight = 27
> .PageSetup.PrintArea = .Range(strRangeValue)
> End If
> j = j + 1
> Next
に差し替えてお試しください。
(変数の宣言 strRangeValue や lngRowY lngRowX も必要です)
|
|