这一直困扰着我一段时间。我想按名称访问工作表,而不是“如何在 Excel 中命名工作表”。我还想包括 ThisWorkbook
在该行中,以消除使用同名工作表打开多个工作簿的可能性。但是我收到一个错误:
我已将我的工作表命名为 CalculationItem1
.为什么以下不起作用?
Sub TestTest()
ThisWorkbook.CalculationItem1.Range("A1:A2").Copy
End Sub
出现以下错误:以下作品,但有可能在另一个打开的工作簿中具有相同名称的工作表?那么会出现错误吗?
Sub TestTest()
CalculationItem1.Range("A1:A2").Copy
End Sub
这是名称:
最佳答案
只要工作表与代码(“ThisWorkbook”)位于同一工作簿中,您就可以通过其代码名称访问工作表。即使工作簿未处于事件状态也是如此 - 就像您有一个具有该名称的对象变量。所以使用 CalculationItem1.Range("A1:A2").Copy
将始终引用代号为 CalculationItem1
的工作表的 ThisWorkbook
.
如果要通过代号访问另一个工作簿的工作表,则必须迭代工作表并查找属性 CodeName
(正如 FaneDuru 在他的回答中显示的那样)。
关于excel - 按名称访问工作表,包括 ThisWorkbook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63031764/