如何在excel中使用thisworkbook vba变量?

在 VBA 中,您可以使用 ThisWorkbook 属性来引用您在其中编写代码的工作簿。使用它时,您可以访问当前工作簿的所有属性和方法。简单地说,您可以在不使用名称的情况下运行当前工作簿中的所有任务

假设您要计算当前工作簿中的工作表数量。您需要编写的代码如下。

 Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
VBA-本工作簿

当您运行此代码时,将出现一个消息框,其中包含当前工作簿中的工作表数。

带页数的消息框

正如我所说,当您使用 ThisWorkbook 时,它使您可以访问当前工作簿的属性和方法。当您输入句点 (.) 查看完整列表时,您可以看到所有这些内容。

访问属性

有用的链接:运行宏宏记录器Visual Basic 编辑器个人宏手册

将 ThisWorkbook 与变量一起使用

接下来,我将向您展示一个声明变量以使用 ThisWorkbook 属性的真实代码示例。假设您要在当前工作簿中执行多项活动。

 Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub

在此代码的第一部分中,您有一个变量,然后为其指定“ThisWorkbook”属性。然后在第二部分中,您可以使用WITH 语句来使用当前变量执行多个活动。

ActiveWorkBook 与本工作簿

让我用一个简单的类比来向您解释一下,请耐心听我接下来的 2 分钟。

您同时打开了两个工作簿(Book1 和 Book2)。您在 book1 中编写代码,但此时 book2 处于活动状态。因此,当您运行引用 ActiveWorkbook 的代码时,它将在 Book2 中执行此活动

但是,当您使用 ThisWorkbook 时,VBA 始终引用编写代码的工作簿。

事情是这样的:使用 ThisWorkbook 总是更好,因为它消除了出错的机会。

了解有关 VBA 工作簿的更多信息

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注