Excelで1~31日の各シートをまとめて印刷したい場合、VBAマクロを使ってボタン一つで印刷できるようにする方法があります。初心者でも簡単に設定できる手順を、具体例を交えて解説します。
準備:開発タブの表示
まず、ExcelでVBAを使用するために開発タブを表示します。「ファイル」→「オプション」→「リボンのカスタマイズ」で「開発」を有効にしてください。
これでマクロの作成やボタン挿入が可能になります。
VBAマクロの作成
開発タブから「Visual Basic」を開き、新しいモジュールを挿入します。そして、以下のコードを入力します。
Sub PrintAllSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If IsNumeric(ws.Name) Then ws.PrintOut
Next ws
End Sub
このコードは、名前が数字のシート(1~31)を順に印刷するマクロです。
ボタンにマクロを割り当てる
開発タブの「挿入」→「フォームコントロール」の「ボタン」を選び、シート上に配置します。表示されるマクロ一覧で「PrintAllSheets」を選択すると、ボタンをクリックするだけで一括印刷が可能になります。
ボタンのラベルを「一括印刷」などに変更すると、わかりやすくなります。
印刷設定の調整
印刷範囲や用紙サイズは事前に各シートで設定しておきましょう。必要に応じて、マクロ内でページ設定も指定できます。
例えば、全シートをA4縦で印刷したい場合は、マクロにws.PageSetup.Orientation = xlPortraitを追加します。
まとめ
Excelで複数シートを一括印刷するには、VBAマクロを作成し、ボタンに割り当てる方法が便利です。初心者でも、開発タブの表示→マクロ作成→ボタン割り当ての手順で簡単に設定できます。
この方法を使えば、1~31日のシートを一つずつ選ぶ手間を省き、効率的に印刷作業を行うことが可能です。

コメント