【发布时间】:2019-11-30 04:51:35
【问题描述】:
我想在 Sheet1 之后将所有工作表从特定工作簿复制到当前工作簿
Sub CopyAllSheets()
Dim MastWB As Workbook
Dim SalesWB As Workbook
Set MastWB = ThisWorkbook 'change to suit
Set SalesWB = Workbooks.Open("F:\WIN7PROFILE\Desktop\Rporting\Test.xls")
SalesWB.Sheets.Copy after:=MastWB.Sheets("Sheet1")
Workbook.SalesWB.Close
End Sub
此代码正在复制所有工作表,包括隐藏的工作表。如何只复制可见的工作表?
【问题讨论】:
-
错误是什么messge,是哪一行触发的?
-
SalesWB.Sheets.Copy after:=MastWB.Sheets("Sheet1") 运行时错误 '1004' 无法将工作表重命名为与另一个工作表、引用的对象库或工作簿引用相同的名称通过视觉基础
-
我也尝试了不同的代码,但得到相同的错误Sub CopyAllSheets2() Dim b1 As Workbook, b2 As Workbook Dim sh As Worksheet Set b1 = ThisWorkbook Workbooks.Open Filename:=("F:\WIN7PROFILE\ Desktop\Rporting\test.xls") Set b2 = ActiveWorkbook For Each sh In b2.Sheets sh.Copy after:=b1.Sheets(b1.Sheets.Count) Next sh End Sub
-
抱歉,在运行代码时,excel 也在处理隐藏的工作表,这也是导致问题的原因。你知道帮助我不复制隐藏工作表的代码吗?