【发布时间】:2015-01-26 22:56:31
【问题描述】:
我需要将大约 70 个不同的 Excel 文件合并到一个主工作簿中。我希望每个 excel 文件在主工作簿中都有自己的工作表。主工作簿中生成的工作表的名称无关紧要。
我从另一个网站检索到此代码,但无法使其满足我的需要。此代码规定所有要合并的文件都位于同一目录中。我把它们放在这里“C:\Users\josiahh\Desktop\cf”
下面是现在的代码
Sub GetSheets()
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
【问题讨论】:
-
无法正常工作 什么不工作?
-
它不会导入任何东西。我会运行宏,什么都不会发生。
-
您有没有采取任何步骤自行调试?
-
此代码仅查找 *.xls 文件——这可能是问题所在(假设您的文件是较新的 xlsm/xlsx 格式,它们不会被此函数拾取)。
-
'70 个不同的 excel 文件'是 97-2003 格式的工作簿吗?您的文件掩码查找的是 *.xls,而不是 *.xls? (例如 *.xlsx、*.xlsm、*.xlsb 等)。