2022年04月25日 スタッフブログ 開発 関戸
Excelで表を作った際、多めに罫線を設定したり、行番号を振っておくケースはよくありますが、この際、印刷すると入力がないデータまで印刷されてしまいます。印刷範囲をその都度設定し直せば対応できますが、大量にファイルがある場合はそれも大変です。
そこで、マクロなどは使わずに、印刷範囲を可変にしてデータがある行だけを印刷する方法をご紹介します。
こんな形のExcelのシートがあります。
No40までデータはありますが、それ以降は空白でNO.と罫線だけが残っている状態です。
この状態で印刷プレビューを表示すると、1枚に収まるはずであるものの、罫線が引かれている部分が2枚目以降に表示されます。
①適当なセルを選択し、「ページレイアウト」の中の「印刷範囲」-「印刷範囲の設定」をクリックします。
②「数式」の中の「名前の管理」をクリックします。
③「名前の管理」ダイアログが表示され、その中に「Print_Area」がありますので選択します。
④「参照範囲:」の中に以下の関数を入力します。
=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$B:$B),5)
⑤印刷プレビューを表示すると、データの入力があるNO.40の行までが印刷範囲に設定されている事が分かります。
・OFFSET関数は、Excelの関数の中で唯一範囲を返す関数だそうです。
・COUNTA関数を使い、B列にデータが入力されている件数をカウントし、その行数だけ印刷範囲に設定しています。
上記を設定した後に余白や拡大縮小の設定などを変更すると、この関数がリセットされてしまい、可変ではない状態に戻ってしまう事があります。
印刷設定などを変更した際は念のため④を確認してください。
これらを組み合わせれば、データがある行だけを印刷範囲に設定した上で、集計行をフッターっぽく表示する事も可能です。
是非お試しください。