0

我正在尝试使用单元格引用来定义一个数组,而不是每次所需的工作表更改时都需要更改宏。

我在工作表的单元格 B29 中列出了所需的工作表,所以我尝试了

.Sheets(Array(WorkSheets("Approver 4").Range("B29"))).Copy

但这没有用。

所以目前我坚持列出工作表名称:

.Sheets(Array("Scenario Summary", "Scenario 1-3 ML(JA) Logon Pages", "Scenario 4-6 ML(ZH) Logon Pages", "Scenario 7-9 ML(ZH) Logon Pages", "Approver 4")).Copy

Set Sourcewb = ActiveWorkbook

'Copy the sheets to a new workbook
With Sourcewb
    Set TheActiveWindow = ActiveWindow
    Set TempWindow = .NewWindow
    'copy the below sheet names from the Worksheets cell (B29) on the worksheet
    .Sheets(Array("Scenario Summary", "Scenario 1-3 ML(JA) Logon Pages", "Scenario 4-6 ML(ZH) Logon Pages", "Scenario 7-9 ML(ZH) Logon Pages", "Approver 4")).Copy
End With

有什么建议么?非常感谢!

4

1 回答 1

0

假设您的单元格B29包含一个逗号分隔的列表,没有引号且没有额外的空格,请尝试

.Sheets(Split(WorkSheets("Approver 4").Range("B29"),",")).Copy

预期数据B29

Scenario Summary,Scenario 1-3 ML(JA) Logon Pages,Scenario 4-6 ML(ZH) Logon Pages,Scenario 7-9 ML(ZH) Logon Pages,Approver 4

如果您的任何工作表名称包含,

于 2013-10-22T06:07:20.903 回答