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

環境:Excel2002です

印刷する行数は毎回異なります

改ページの条件は
(1)行1から10は表題などが設定されているが6から10行を行タイトルに設定する
(2)データ30行毎に改ページする
  
   例:データ数100、行1から10に表題があるので 最終行は110
     ページ設定 1ページ:行1から40
                   行1から10の表題 プラス データ数30(行11~40)
             2ページ:行6から10の行タイトル プラス データ数30(行41~70)
             3ページ:行6から10の行タイトル プラス データ数30(行71~100)
             4ページ:行6から10の行タイトル プラス データ数10(行101~110)

印刷範囲の設定はネット上に多数紹介されていますが
私の設定したい方法は見つけることができませんでした

思考錯誤してみましたが、私のスキルでは無理でした
よろしくご教示願います

A 回答 (1件)

ご相談に書かれていることを手順を追って行うと


1.印刷する行数(最終行)を調べる
2.タイトル行を設定する
3.所定の行に改ページを打つ
4.印刷範囲を設定する
5.印刷する
というだけの作業です。


実際には
事前準備:タイトル行を設定する
事前準備:所定の30行ごとに、データの有無に関係なしに改ページを埋めておく
   →挿入メニューの改ページ
マクロの仕事:最終行を調べ、印刷範囲を設定して印刷する

だけで十分です。

作成例:
sub macro1()
 dim LastRow as long
’仮にA列で最終行を調べられるとして
 lastrow = range("A65536").end(xlup).row
’仮にA:G列を印刷するとして
 activesheet.pagesetup.printarea = "$A$1:$G$" & lastrow
 activesheet.printout
end sub



もしも手抜きで何も手を動かして準備とかしたくないというなら

sub macro2()
 dim LastRow as long
 dim r as long
 lastrow = range("A65536").end(xlup).row
 activesheet.resetallpagebreaks
 for r = 41 to lastrow + 1 step 30
  activesheet.hpagebreaks.add before:=cells(r, "A")
 next r
 activesheet.pagesetup.printtitlerows = "$6:$10"
 activesheet.pagesetup.printarea = "$A$1:$G$" & lastrow
 activesheet.printout
end sub

といった具合に、丁寧に書いていけば出来ます。
    • good
    • 0
この回答へのお礼

2通りも回答いただきありがとうございました
無事動作確認できました

それにしても、これだけエクセルを使っていながら
『挿入メニューの改ページ』の機能は知りませんでした

日々の探求が足りないんですね。反省します。

お礼日時:2013/03/26 12:44

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