|
こんにちは。
>AAAのシートで、、1ページが23行
>5ページくらいまで枠を作ってあって、、
...というような条件を提示し、新規スレッドでご質問し直したほうが、
私のようなひねくれものではない方から適切なアドバイスが得られると思いますよ。
INDIRECT式は一例です。
それより、作業列を使わずにVBAで印刷範囲を設定するというのが真っ当な手法だと思います。
一応、本スレッドの条件に当て嵌めると
>2、25、48、71、94 行目を見るなら
ここは、タイトル行を1行設定している場合、1ページ23行として
2、24、46、68、、、と22行刻みで見ていく事になります。
そしてタイトル行分ずれますから
=INDIRECT("A"&FLOOR(ROW()-2,22)+2)<>""
です。
でもかなりわかりにくいと反省しましたので、例えばZ列を作業列にするなら
Z2 に
=IF(MOD(ROW(),22)=2,A2<>"",Z1)
のような式で、以下必要行数分コピーで良いです。
また、枠の作り方次第ですが、タイトル行が別に設定してあるのですから、
A列かどこかの最終セルで印刷範囲が判断できるのなら
Sub try()
Dim mx As Long
mx = Range("A65536").End(xlUp).Row
mx = WorksheetFunction.Ceiling(mx - 1, 22) + 1
ActiveSheet.PageSetup.PrintArea = "A1:J" & mx
End Sub
これでもいいわけです。
|
|