【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(マイクロソフト オフィス スペシャリスト)検定の教科書で有名な、富士通の「よくわかる」シリーズがおすすめです

マクロの登録方法が分からない!という方は、こちらをご覧ください。

あわせて読みたい

人気のおすすめ記事

【2023】Amazonプライム感謝祭のおすすめセール商品まとめ
Amazonプライム感謝祭は、次の2日間にかけて実施される2023年初開催のセールで、Amazonデバイスをはじめ様々なアイテムをお得に購入することができます。Amazon Prime 感謝祭のセール期間 10月14日(土)0:00 ~ 10月15日(日)23:59。本記事ではそんなAmazon Prime 感謝祭でお得に買物をするコツ(攻略法)を解説した上で、見逃せないセール商品をガジェットや家電を中心に紹介していきます!

【ふるさと納税】限度額の計算は、住民税決定通知で確認(6月発送済み)
住民税決定通知が届いたら、ふるさと納税額をシミュレーションしましょう。ただしふるさと納税額は今年の所得に係るものなので、あくまで試算です。おすすめ返戻品もご紹介します。

公務員に民間から転職できたコツ!就職氷河期が脱IT業界。公務員面接対策は、ハローワーク最強説
夫が中小IT企業から一部上場IT会社に転職後、地方公務員に転職できた体験談を紹介します。民間の転職は、リクルートエージェントが最強、公務員への転職は、ハローワークを活用するのが最強だと思います