Workbooks.Activate在某些计算机上无法运行

时间:2016-01-28 20:35:15

标签: excel vba excel-vba

我今天遇到了一个奇怪的Excel 2013 VBA行为,并觉得发布问题的解决方案可能会在将来帮助其他人。 以下命令在我的计算机上工作正常,但大多数其他用户会收到错误消息。我使用的是Windows 7。

Workbooks("Book1").Activate

4 个答案:

答案 0 :(得分:0)

我发现其他用户对已知文件类型具有'扩展名'所示。默认情况下,Windows希望隐藏这些内容。为了使代码在所有机器上正常工作,我必须在代码中包含文件扩展名,如下所示。创建新工作簿但尚未保存时,它不需要此命令中包含的文件扩展名,因为它尚未确定。

Workbooks("Book1.xlsm").Activate

Workbooks("Book1.xlsm").Activate

答案 1 :(得分:0)

只是猜测,但这可能与"文件夹选项"中的设置有关。 Windows资源管理器。

在“视图”选项卡上,有一个选项"隐藏已知文件类型的扩展名" - 这将影响您如何在VBA中按名称引用工作簿。

编辑:好像你已经到了那里!

答案 2 :(得分:0)

我已经启用了文件扩展名,但它没有用。我通过强制文件和工作表激活来修复。

示例(文件仍处于打开状态时):

 Windows("file2.xlsm").Activate
 ThisWorkbook.Worksheets("sheet2").Activate

我知道ActivateSelect是有效的,但是如果有效的话......

答案 3 :(得分:0)

您好,在您的代码中使用两个dim作为工作簿 dim currentwb,newwb as workbook

set currentwb = ActiveWorkbook

并在创建新工作簿集后

set newwb = ActiveWorkbook