3

我正在尝试在 Excel 2010 中创建一个 VBA,该 VBA 从另一个电子表格中获取我不允许更改的信息,并将其带到带有内置宏的电子表格中。这是我的代码:

Sub BringUpWorkbook()
    Workbooks("RITE 1624.xls").Activate
End Sub

我有几本 VBA 书籍,访问了 Internet 上的数十个站点,包括 stackoverflow.com 上的站点,但找不到我收到运行时错误的原因。工作簿已经打开,我尝试添加标题后面的所有内容,我尝试删除.xls,我什至在变量中完成了上述所有操作。有任何想法吗?

4

1 回答 1

8

确保扩展名正确。如果它是您指出的 excel-2010 文件,您可能需要更新代码以反映“RITE 1624”文件的扩展名(例如 .xlsx 用于 2010 Excel 工作簿,.xlsm 用于 2010 Excel 启用宏的工作簿,或任何扩展名。

Sub BringUpWorkbook()
    Workbooks("RITE 1624.xlsx").Activate
End Sub

编辑:

为确保您拥有正确的工作簿名称,您可以在即时窗口中打印每个工作簿的名称。

打开 VBA 编辑器,然后按 Ctrl+G 打开即时窗口(或执行查看 > 即时窗口)。然后运行以下宏:

Sub OpenWkbkNames()

For Each Workbook In Workbooks
    Debug.Print Workbook.Name
Next
End Sub

请注意,这将为您提供与宏相同的 Excel 实例中所有打开的工作簿的名称。如果您的 RITE 1624 文件位于单独的 Excel 实例中,那么您的宏所在的实例将无法看到该文件(并且它不会出现在上面的 OpenWkbkNames 代码的输出中)。解决此问题的最简单方法是从包含宏的 Excel 实例中打开所有必要的文件。

Sub BringUpWorkbook()

    Workbooks.Open("RITE 1624.xls").Activate
End Sub
于 2013-08-12T17:40:39.533 回答