電子書籍の厳選無料作品が豊富!

いつもお世話になっています。
同様の質問をしたのですが解決につながるご回答がありませんでしたので、再度

名簿を使用しているのですが、条件だけをあう人を印刷ページに転記するというVBAを作成しています。データ用ページには、氏名、生年月日、住所、性別等々のデータがあります。印刷ページは、氏名、住所などの項目をタイトルとしてあらかじめ設定しています。印刷はこれからVBAで組む予定ですが、現在は、そこまでやっていません。

問題は、一度大きな印刷データを作成したあとにに小さな印刷データを印刷した場合、データがはいっているページを出力した後に、タイトルだけのページが多数印刷されてしまいます。もちろんプレビューで確認して印刷ページを指定すれば可能なのですが、ページが10~50ページと可変になるため、できればそんな面倒なことをしたくありません。

いろいろネットをみてみたのですが、どうもよくわかりませんので、方法についてご教示いただければ幸いです。以下、現在の状況を箇条書きにしてみました。

前提
(1)ブックは、データ用ページ(複数)と印刷用ページから構成
(2)データ用のページは100名もあれば1000名もある
(3)印刷用のページは、必要項目をあらかじめタイトルとして設定

VBAの構成
(1)最初に印刷用ページの2行目以降を.ClearContents、ClearFormatsで初期化
(2)データ用のページから必要項目だけを抽出して印刷用のページに転記。
(3)転記が終了すれば、 Cells.RowHeight で行の高さを調整

問題点
  (1)最初に1000名のシート出力すると問題なし
  (2)次に100名のシート出力すると、必要ページ印刷後、タイトルだけのページがたくさんでてくる
  (3)印刷プレビューでみても同じ状態
  (3)改ページプレビューで確認すると、空白のページのみ続いている
 
おそらく、1000名を出力した書式がそのまま残っていると思われます。もしそうだとすると、これをVBAでクリアする方法がわかりません。

よろしくご教示いただきますようお願いいたします。

質問者からの補足コメント

  • ご教示いただきありがとうございました。

    ResetAllPageBreaks

    で解決しました。

      補足日時:2019/08/12 10:50

A 回答 (1件)

こんにちは


前回の回答では役に立たないのなら・・

>(1)最初に印刷用ページの2行目以降を.ClearContents、ClearFormatsで初期化

     ↓ ↓ ↓ ↓

 UsedRange.Offset(1).EntireRow.Delete

とか。(未検証)
    • good
    • 0

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