【发布时间】:2020-09-19 15:49:33
【问题描述】:
我有一个宏可以将不同的工作簿合并到一个主 Excel 工作簿中:
Sub GetSheets()
Path = "\Users\myname\Documenten\Test\"
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
如何将每个工作簿的第一个工作表仅包含到主工作簿中?
如何将工作表重命名为它来自的工作簿的名称?
【问题讨论】:
-
有几个字符在工作簿名称中有效但在工作表名称中无效(“[”和“]”),工作表名称限制为 31 个字符,而工作簿名称可以更长。因此,如果您尝试将工作表名称设置为等于工作簿名称,请为错误或其他意外行为做好准备。
-
好的,谢谢,如果我只想在不更改名称的情况下包含每个工作簿的表 1 和表 4?
-
查看user3598756的回答,只需在
.Worksheets(1).Copy After:=ThisWorkbook.Sheets(1)之后添加一行.Worksheets(4).Copy After:=ThisWorkbook.Sheets(1),同时删除ThisWorkbook.Sheets(2).name = .name这一行。 -
@Sner88,请坚持您当前的问题并走到最后。我发布了一个答案,如果它符合您的 original 问题,请接受它。如果出现不同的问题,请发布新帖子