如何通过vba激活excel工作簿?

当您同时处理多个工作簿时,我的意思是,当您同时打开多个工作簿时,您需要知道可以帮助您激活要处理的工作簿的方法。

工作簿激活

要使用 VBA 激活工作簿,必须使用 Workbook.Activate 方法。在此方法中,您需要使用 Workbook 对象指定工作簿名称。它还允许您使用工作簿编号而不是工作簿名称,但您只能引用打开的工作簿。

在本教程中,我们将了解使用此方法的不同方式。

激活工作簿的步骤

类型粘合剂
  1. 输入“Binders”以使用活页夹对象。
  2. 用双引号指定工作簿名称。
  3. 输入句点 (.) 以获取属性和方法的列表。
  4. 从列表中选择激活方法,或者您也可以输入它。
  5. 最后,运行代码以激活工作簿。
 Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub

注意:如果您尝试激活未打开的工作簿,VBA 将显示错误。

vba 将显示错误

相关:使用 VBA 激活电子表格

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

使用号码激活工作簿

当您打开多个工作簿时,所有这些工作簿都会成为工作簿集合的一部分,并有一个可供您引用的编号,然后您可以对其使用 activate 方法。这是代码:

 Sub vba_activate_workbook() Workbooks(2).Activate End Sub
使用号码激活活页夹

如果您尝试使用不存在的数字激活工作簿,VBA 将显示运行时错误“9”(下标超出范围)。

vba 将显示运行时错误 9

激活此工作簿

您可以使用 ThisWorkbook 属性引用您在其中编写代码的工作簿。假设您同时打开了五个工作簿,但您正在处理“Book1.xlsm”,因此当您运行以下代码时,它将激活“Book1.xlsm”。

 Sub vba_activate_workbook() ThisWorkbook.Activate End Sub

激活工作簿之前检查

正如我所说,当您尝试激活未打开的工作簿时,VBA 会向您显示错误。要解决这个问题,最好的办法是先检查工作簿名称(是否打开),然后激活它。

 Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub

使用上面的代码,您可以指定一个工作簿名称,这将首先在所有打开的工作簿中检查该工作簿,如果找到该工作簿,则会激活它。

评论

  • 使用工作簿名称时,请确保使用正确的文件扩展名
  • 如果要激活尚未保存的工作簿,则必须仅使用该工作簿的名称,而不添加文件扩展名后缀。

添加评论

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