【Excelマクロ】複数エクセルファイル、複数シートを一括印刷する【VBAコード】

この記事は約6分で読めます。
フォルダ内の全てのExcelファイル、全てのExcelシートを一括印刷したい!かんたんにできるVBAマクロを紹介します。

Excelファイルを印刷する際、いちいちファイルを開かなければいけなかったり、シートを選択し忘れたり・・・。意外と手間がかかる上に落とし穴が多いのでマクロにしてみました。

Excel複数ファイル複数シートを一括印刷マクロ(VBAコード)

1.印刷したいExcelファイル群と同じフォルダ内に「マクロ用のExcelファイル」を作成します。
2.次のマクロを登録して、実行します。
3.同フォルダ内のExcel全ファイル及び全シートを連続印刷します。

Sub sample()

Application.ScreeenUpdating = False ‘画面更新オフ

Dim dstSheet As Worksheet
Set dstSheet = ThisWorkbook.Worksheets(1)
Path = Application.ThisWorkbook.Path & “\”
Dim buf As String
  buf = Dir(Path & “*.xls*”) ‘同じフォルダパス内のエクセルファイル

Dim srcBook As Workbook
Dim srcSheet As Worksheet
Do While buf <> “”
If buf <> ThisWorkbook.Name Then ‘本ファイルは対象外
Set srcBook = Workbooks.Open(Path + buf)
For i = 1 To Sheets.Count ‘全シート
Set srcSheet = srcBook.Worksheets(i)
srcSheet.PrintOut
Next
srcBook.Close False
End If
buf = Dir()
Loop
Application.ScreeenUpdating = True ‘画面更新オン
End Sub

印刷設定は、Excelファイルの設定に依存。 一括して印刷設定は不可

Excelは、ファイルやシートごとにページ設定/印刷設定の情報を持ちます。
たとえば、全てのファイルを両面印刷したい場合、VBA側で処理はできません。

Excel作成時または保存時に印刷設定を統一するルール付けをしておくとよいです。

ちなみに、印刷設定する場合は、シートを複数選択して設定を変更した場合でも、設定変更できるのは最初に選択したシートのみであり、全てのシートの設定を一括で変更することはできません。

Excel複数ファイル複数シートを一括印刷マクロ  まとめ

Excelファイルを印刷する際、いちいちファイルを開かなければいけなかったり、シートを選択し忘れたり・・・。意外と手間がかかる上に落とし穴が多いのでマクロにしてみました。

事務仕事で何かと使う機会が多いと思うのでおすすめです。

VBAの基本を学ぶには、MOS(マイクロソフト オフィス スペシャリスト)検定の教科書で有名な、富士通の「よくわかる」シリーズがおすすめです

]]>
人気記事はこちら!

公務員を辞めたい方へ。退職願/退職届の書き方、出し方、いつまでがよいか
公務員を退職する場合は、「退職願」を提出します。民間企業と違い「退職届」ではありません。提出先は所属長(課長)がマナーであり、一般的です。その後、人事担当者が任命権者に退職の承認をいただく流れとなります。できれば遅くとも退職希望日の1ヶ月前には、10月までには提出しましょう。

【公務員のボーナス】2025年/2026年は増額! 人事院勧告まとめ【令和7年】
公務員のボーナス(賞与)は、 2025年度(令和7年度)は、引き下げ!4.60→4.65月に0.05月分増加です。期末手当及び勤勉手当の支給月数をともに0.025月分引上げます。例年8月の人事院の給与勧告により確定します。かんたんに解説します。