第一张被命名为“Piranha”(不知道为什么),第二张被命名为“食人鱼 - Dist& Growth split”
然而,当我写标准代码时 表( “食人鱼”)。选择
它有运行时错误40036(应用程序定义或对象定义错误)
它也不喜欢 ActiveSheet.select / .name
但仅限于这两张纸,还有另一张名为“Exceptions”的纸张,我可以使用该对象没问题。有没有人听说过这个问题或者更好的解决方法?另外因为它不是我的文件,如果有一种方法可以做到这一点而不实际改变文件将是惊人的。谢谢!
答案 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 访问查询中的数据。