【问题标题】:reference different workbooks worksheets using object variables The workbook is already open使用对象变量引用不同的工作簿工作表工作簿已经打开
【发布时间】:2013-08-17 10:57:11
【问题描述】:

我正用这个把头撞在墙上。我一直在写完整的 workbooks().sheets() 参考资料。寻找一种更短的方法,我发现一些 stackoverflow 帖子和答案看起来很简单,但是当我尝试它时......它不起作用。 我不需要打开我想要引用的工作簿,因为我找到了一种方法来编码它以在主工作簿打开时自动打开......并在主工作簿关闭时保存并关闭。 我在 Set wb = Workbooks() 行收到“编译错误:未定义子或函数”。

我密切关注这个问题的答案Referencing Workbook and Worksheet by Variables

是否有一个特殊的地方来定义一个对象变量,或者可以在需要时在任何子或函数中完成。还有一个地方我可以在整个项目看到它的地方定义它,所以我只需要定义一次。如果是这样,我将在该位置定义它们并始终使用速记引用。

Public Sub VTest()

Dim WbStats As Workbook
Dim WSPO1sts As Worksheet

Set WbStats = Worksbooks("Stats.xlsx") 'this line spawns the compile error I mentioned.
Set WSPO1sts = WbStats.Sheets("PO1sts")

【问题讨论】:

  • 错字?工作簿应该是工作簿

标签: excel vba variables object


【解决方案1】:

请注意,如果您的代码在工作簿中,您可以使用 ActiveWorkbook 引用该工作簿

请参阅here,它将详细解释有关声明(即定义)变量及其范围的信息。

This site 有很多有用的信息

例如 http://www.cpearson.com/Excel/DeclaringVariables.aspx

哈维

【讨论】:

    猜你喜欢
    • 2013-08-16
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    相关资源
    最近更新 更多