次の問題があります。既にいくつかのワークシートを含む Excel ファイルがあり、それをメイン ファイルと呼びましょう。サブディレクトリには、それぞれ 1 つのシートを含む 5 つの他の Excel ファイルがあります。ここで、Excel ファイルの内容をメイン ファイルにコピーする必要があります。メイン ファイルには、サブディレクトリ内のすべてのファイルのシートが必要です。
私はVBAが初めてなので、これは簡単ではありませんが、次のようになりました。
Sub Makro1()
Dim objWorkbook As Workbook
Dim mybook As Workbook
Set basebook = ThisWorkbook
Dim strPath As String
strPath = ThisWorkbook.Path + "\data"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder(strPath)
Dim ws As Worksheet
For Each objFile In objFolder.Files
If objFso.GetExtensionName(objFile.Path) = "xls" Then
Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)
objWorkbook.Worksheets(1).Copy
Set ws = basebook.Sheets.Add
ws.Paste
objWorkbook.Close
Set objWorkbook = Nothing
Set ws = Nothing
End If
Next
objExcel.Quit
End Sub
したがって、メインファイルにシートが作成されますが、サブディレクトリ内のファイルの内容はこれらのシートに貼り付けられませんが、Ctrl + Cでコピーしたものは貼り付けられません。
解決策またはヒントをいただければ幸いです。
前もってありがとう
デビッド