指定フォルダの指定シートが集計できるマクロ

フォルダ名とシート名を入力するだけで、エクセルのシートを1つのブックに集めてくれるマクロが作れちゃいます。

できること

指定のフォルダにある複数ブックから、指定シートを1つのブックに集めます。

集める時にシート名を変える事もできるのですが今のところしていません。

入力欄

集計したいエクセル(ブック)が保存してあるフォルダを指定

そのブックから集めたいシート名を入力

ちなみにですが、私は全国の事業所から提出された報告書を一つのブックに集計する際にこのマクロを使っています。


例)C:\Users\Administrator\Desktop


例)sheet1

出力欄

Sub シート集計()

Dim sFile As String
Dim sWB As Workbook, dWB As Workbook
Dim dSheetCount As Long
Const SOURCE_DIR As String = “” & “\”
Dim shname As String
shname = “

sFile = Dir(SOURCE_DIR & “*.xl*”)

If sFile = “” Then Exit Sub

Set dWB = Workbooks.Add
dSheetCount = dWB.Worksheets.Count

Do

Set sWB = Workbooks.Open(Filename:=SOURCE_DIR & sFile)

For Each sh In Worksheets

If sh.Name Like shname Then

sh.Select
Application.DisplayAlerts = False

dSheetCount = dWB.Worksheets.Count
sh.Copy after:=dWB.Worksheets(dSheetCount)
Application.DisplayAlerts = True

End If

Next sh

Application.DisplayAlerts = False
sWB.Close
Application.DisplayAlerts = True

sFile = Dir()

Loop While sFile <> “”

Application.DisplayAlerts = True

MsgBox “おわり”

End Sub

貼り付け

出力欄に表示されているコードをエクセルのマクロに貼り付けてください。
エクセルのマクロの開き方は↓のページを参考にしてください。

マクロの開き方
マクロ(VBA)の開き方~初心者向け~マクロの開き方はとても簡単です。10秒あれば開くことができます。その方法をご紹介します。...

まとめ

質問やこんなマクロが欲しい!などの要望はお気軽にツイッターまで
あと、マクロの使用は自己責任でお願いします。