我有以下问题。我有一个 Excel 文件,它已经有一些工作表,我们称它为我的主文件,在子目录中我有五个其他 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 复制的 ast 内容。
我会感谢解决方案或提示。
提前感谢
大卫