【发布时间】:2014-03-08 01:29:31
【问题描述】:
我正在尝试使用 VBA 将数据从一个工作簿复制到我当前的工作簿。 InputBook 是一个工作簿对象,它引用我要从中提取数据的文件。主要问题与在 InputBook 工作簿中引用特定工作表有关。在 InputBook 中,我有一个名为 "Lines" 的工作表,其代号为 LINES。我希望通过它的代号来引用这个工作表,例如:
NumItems = WorksheetFunction.CountA(InputBook.LINES.Columns(1))
这显然行不通,我知道我可以使用以下任一方法使其发挥作用:
NumItems = WorksheetFunction.CountA(InputBook.Sheets("Lines").Columns(1))
NumItems = WorksheetFunction.CountA(InputBook.Sheets(2).Columns(1))
但是,我宁愿不使用其中任何一种方法,因为它们似乎不太健壮。有没有办法在另一个打开的工作簿中引用工作表对象的代号?谢谢。
【问题讨论】:
-
NumItems = WorksheetFunction.CountA(LINES.Columns(1))有效吗?如果您将其定义为set LINES = InputBook.Sheets("Lines") -
我没有在代码的任何地方定义LINES;它只是手动设置的,永久作为该特定工作表的代号。我想完全避免将其定义为工作表名称的函数。