Sub MergeExcelFiles()
Dim FolderPath As String
Dim FileName As String
Dim TemplateFile As String
Dim CurrentWorkbook As Workbook
Dim TemplateWorkbook As Workbook
' テンプレートファイルのパスを取得
TemplateFile = "テンプレート.xlsx"
TemplateFile = ThisWorkbook.Path & "\" & TemplateFile
' フォルダーのパスを取得
FolderPath = ThisWorkbook.Path & "\"
' テンプレートファイルを開く
Set TemplateWorkbook = Workbooks.Open(TemplateFile)
' フォルダー内のExcelファイルをループ処理
FileName = Dir(FolderPath & "*.xlsx")
Do While FileName <> ""
' テンプレートファイルはスキップする
If FileName <> "テンプレート.xlsx" Then
' 現在のExcelファイルを開く
Set CurrentWorkbook = Workbooks.Open(FolderPath & FileName)
' シートをテンプレートファイルに追加する
CurrentWorkbook.Sheets.Copy After:=TemplateWorkbook.Sheets(TemplateWorkbook.Sheets.Count)
' 現在のExcelファイルを閉じる
CurrentWorkbook.Close SaveChanges:=False
End If
' 次のExcelファイルを取得
FileName = Dir
Loop
' テンプレートファイルを保存
TemplateWorkbook.Save
' テンプレートファイルを閉じる
TemplateWorkbook.Close SaveChanges:=False
' 完了メッセージを表示
MsgBox "Excelファイルの結合が完了しました。", vbInformation
End Sub
Sub ImportListFiles()
Dim TemplateFile As String
Dim ListFolder As String
Dim ListFilePath As String
Dim TemplateWorkbook As Workbook
' テンプレートファイルのパスを取得
TemplateFile = ThisWorkbook.Path & "\" & "テンプレート.xlsm"
' listフォルダーのパスを取得
ListFolder = ThisWorkbook.Path & "\" & "list\"
' テンプレートファイルを開く
Set TemplateWorkbook = Workbooks.Open(TemplateFile)
' listフォルダー内のExcelファイルを取り込む
ListFilePath = ListFolder & "リスト.xlsx"
' リストファイルをテンプレートファイルに取り込む
TemplateWorkbook.Sheets("取り込みシート").UsedRange.ClearContents ' 取り込みシートをクリア
TemplateWorkbook.Sheets("取り込みシート").Cells.ClearFormats ' 書式をクリア
TemplateWorkbook.Sheets("取り込みシート").Cells.ClearComments ' コメントをクリア
TemplateWorkbook.Sheets("取り込みシート").Cells.ClearHyperlinks ' ハイパーリンクをクリア
Workbooks.Open(ListFilePath).Sheets(1).UsedRange.Copy Destination:=TemplateWorkbook.Sheets("取り込みシート").Range("A1")
' 取り込んだデータを処理する(ここで必要な操作を行う)
' リストファイルを閉じる
Workbooks("リスト.xlsx").Close SaveChanges:=False
' テンプレートファイルを保存
TemplateWorkbook.Save
' テンプレートファイルを閉じる
TemplateWorkbook.Close SaveChanges:=False
' 完了メッセージを表示
MsgBox "リストファイルの取り込みが完了しました。", vbInformation
End Sub