VBA- xlsm文件的错误40036具有类似的工作表名称

时间:2014-07-11 05:06:12

标签: vba excel-vba excel

我正在写一个关于宏的问题。我有我的xlsm文件,我正在写我的宏,它正在创建一个模板,从其他人发送给我的多个电子表格中获取数据。但是,我用于获取信息的一个文件是xlsm文件并且给我带来了问题。我相信我已经解决了这个问题,但我不确定如何解决它。

第一张被命名为“Piranha”(不知道为什么),第二张被命名为“食人鱼 - Dist& Growth split”

然而,当我写标准代码时 表( “食人鱼”)。选择

它有运行时错误40036(应用程序定义或对象定义错误)

它也不喜欢 ActiveSheet.select / .name

但仅限于这两张纸,还有另一张名为“Exceptions”的纸张,我可以使用该对象没问题。有没有人听说过这个问题或者更好的解决方法?另外因为它不是我的文件,如果有一种方法可以做到这一点而不实际改变文件将是惊人的。谢谢!

5 个答案:

答案 0 :(得分:1)

感谢大家的帮助,不过我最终想通知当尝试操作文件来获取数据时,文件的宏会干扰我的进程,所以我只是制作文件的副本并删除所有vb组件我的代码工作正常

答案 1 :(得分:0)

在有问题的文件中,尝试编译VBA项目(通过Debug>在VBA编辑器中编译VBA项目)并查看相关表单模块中的任何代码是否有错误

答案 2 :(得分:0)

Sub test()
Sheets("Sheet1 & 2").Select
ActiveSheet.Select
End Sub

Sub test2()
Sheets("Sheet1").Select
ActiveSheet.Select
End Sub

使用上面的代码测试了您的问题,我无法复制您的错误。也许在其中一张纸的开头或结尾有空格?至于ActiveSheet无法正常工作,它在我的测试中运行正常。我认为您需要检查您的代码,或至少使用您的代码更新您的问题,以便我们检查

答案 3 :(得分:0)

我有类似的问题错误40036,调试指向文件路径变量。删除或添加代码行时,错误已移动......

我尝试过Expert Exchange的解决方案:

         from VBA window do   Debug>Compile VBAProject
         fix any error raised 

我修正了错误,现在一切正常:)

答案 4 :(得分:0)

所有这些答案都涉及编译和清除错误。如果你像我一样,你总是这样做。答案对我来说似乎不太清楚,所以它是这样的:

不仅您的宏工作簿需要没有错误,您打开的所有其他工作簿也是如此。因此,如果您正在挖掘大量数据并遇到这些奇怪的对象错误,那么您的数据集中可能存在一个包含编译错误的工作簿。再多的调试主工作簿也无法解决问题。

您必须能够成功编译以编程方式打开的每个工作簿。 OP 说了一些关于从他的数据中剥离“vb 组件”的内容。您可以执行的任何此类避免目标数据工作簿中的宏的方法都可以解决此问题。您可以将每个文件保存为无宏 XLSX,然后从中提取数据。或者您可以使用 ADO 访问查询中的数据。