首页 > 解决方案 > 对工作表的字符串引用有效,但字符串变量无效

问题描述

我正在将工作表从一个工作簿复制到另一个工作簿。如果我单独复制它们,则单元格会引用外部复制的工作簿。如果我同时复制它们,单元格引用将引用新工作簿中的工作表。

如果我对外部工作簿中的工作表列表进行硬编码,一切正常。

closedBook.Worksheets("dog", "cat", "cow").Copy after:=ThisWorkbook.Sheets(3)

如果我将工作表列表放在一个变量中并使用它,它就会死掉。

strSheets = "dog", "cat", "cow"
closedBook.Worksheets(strSheets).Copy after:=ThisWorkbook.Sheets(3)

有人知道我在做什么错吗?

标签: arraysexcelvba

解决方案


这样的事情怎么样?

dim T(1 to 3) as string

T(1) = "dog"
T(2) = "cat"
T(3) = "cow"

for x = 1 to 3
closedBook.Worksheets(x).Copy after:=ThisWorkbook.Sheets(3)
Next x

顺便说一句:在您的代码中,您似乎忘记了 cat 之后的第二个 "。


推荐阅读