我今天遇到了一个奇怪的Excel 2013 VBA行为,并觉得发布问题的解决方案可能会在将来帮助其他人。 以下命令在我的计算机上工作正常,但大多数其他用户会收到错误消息。我使用的是Windows 7。
Workbooks("Book1").Activate
答案 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
我知道Activate
和Select
是有效的,但是如果有效的话......
答案 3 :(得分:0)
您好,在您的代码中使用两个dim作为工作簿 dim currentwb,newwb as workbook
set currentwb = ActiveWorkbook
并在创建新工作簿集后
set newwb = ActiveWorkbook