【Excelマクロ】フォルダ内の全ファイルのデータを一覧表にする【エクセルVBA】コードあり

公務員
この記事は約5分で読めます。

同じ形式の複数のExcelファイルが入ったフォルダから一覧表を作成したいとき。このエクセルマクロで一括集計できます!コードコピペOK!汎用性もあり、便利です!シンプルに動作するだけのマクロコードを紹介します。

1.集計したいファイル郡と同じフォルダ内に「マクロ用のExcelファイル」を作成します。

2.次のマクロを登録して、実行します

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 i As Long
  i = 1  ’ 一覧表に出力する行の初期値です。2行目からの場合は1を指定
Do While buf <> “”
i = i + 1
Dim srcBook As Workbook
If buf <> ThisWorkbook.Name Then ‘本ファイルは対象外
Set srcBook = Workbooks.Open(Path + buf)
Dim srcSheet As Worksheet
Set srcSheet = srcBook.Worksheets(1)
   ‘【カスタマイズ部分】↓一覧表にしたいセルを指定(行,列)
dstSheet.Cells(i, 1).Value = srcSheet.Cells(1, 1)
   ‘【カスタマイズ部分】↑ここまで
srcBook.Close False
End If
buf = Dir()
Loop
Application.ScreeenUpdating = True ‘画面更新オン
End Sub

https://qiita.com/takahiro_itazuri/items/08754db91c6ab72deb03(参考)

上記は、集計対象エクセルのセル「A1」を次々に取得していますが、
カスタマイズ部分を変更、追加すれば、指定したセルを集計できます。

(例)カスタマイズ例:セル「B2」「C2」も次々に取得
  dstSheet.Cells(i, 2).Value = srcSheet.Cells(2, 2)
  dstSheet.Cells(i, 3).Value = srcSheet.Cells(3, 2)

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

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

マクロの登録方法が分からない!という方はこちらを参考にしてください。

あわせて読みたい
人気のおすすめ記事

ふるさと納税は、Yahoo!ショッピングが最もお得(5のつく日曜日)
ふるさと納税は、実質2,000円で特産物がもらえるお得な制度ですが、さらにお得なのは、Yahoo!ショッピングです!5がつく日曜日に決済すると、最大34.5%相当のポイントバックがあります!人気商品と購入時の注意点を解説します。2022年は、9/25(日)が対象日です。

【LITALICO】こども向けプログラミング教室の無料体験に参加。レゴLEGO、スクラッチScratch【小学生でもできた!】
LITALICO(リタリコ)こども向けプログラミング教室の無料体験に参加。小学1年生でもLEGOとScratchを使ってプログラミングできた!2020年プログラミング必須に向けた対策を。1発目が大事なので、学校の先生にお任せするのはちょっと怖かったです。無料体験から始めてよかった!

【体験談】Amazonプライムはワンコインで本当にお得だった
多くの人が利用する大型ショッピングサイト『アマゾン』。そんなアマゾンの『Amazonプライム』を6か月間体験した結果をご紹介します。利用料は月500円程度かかるものの、そのサービスの豊富さが好評で、加入している人が多数います。...

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