我有一个问题,我写的宏。我有我的xlsm文件,我写我的宏,它是创建一个模板,从其他人发送给我的多个电子表格的数据。然而,一个文件,我用的信息是一个xlsm文件,给我的问题。我相信我已经隔离的问题,但不确定如何修复它。
第一张表命名为“食人鱼”(不知道为什么),第二张表命名为“食人鱼- Dist & Growth split”
然而,当我编写像Sheets(“Piranha”)这样标准代码时,选择
它有一个运行时错误40036(应用程序定义的或对象定义的错误)
它也不喜欢ActiveSheet.selectwww.example.com/.name
但只有这两个工作表,有另一个工作表命名为“异常”,我可以使用该对象没有问题。有人听说过这个问题,或更好地有任何想法如何解决它?也因为它不是我的文件,如果有一种方法来做它,而实际上不改变文件将是惊人的。谢谢!
6条答案
按热度按时间uwopmtnx1#
我用上面的代码测试了你的问题,我无法复制你的错误。也许在某个工作表的开头或结尾有一个空格?至于ActiveSheet不工作,它在我的测试中工作正常。我认为你需要检查你的代码,或者至少用你的代码更新你的问题,这样我们就可以检查它
beq87vna2#
所有这些答案都是关于编译和清 debugging 误的。如果你像我一样,你经常这样做。答案对我来说似乎不太清楚,所以下面是:
不仅您的宏工作簿需要没有错误,您打开的所有其他工作簿也需要没有错误。因此,如果您在挖掘大量数据时遇到这些奇怪的对象错误,那么您的数据集中可能有一个工作簿存在编译错误。再多的调试您的主工作簿也无法解决这个问题。
您必须能够成功地编译您以编程方式打开的每一个工作簿。OP提到了一些关于从他的数据中剥离“vb组件”的内容。您可以使用任何类似这样的方法来避免目标数据工作簿中的宏,这些方法都可以解决这个问题。您可以将每个文件保存为无宏的XLSX,然后从中提取数据。或者您可以使用ADO在查询中访问数据。
lf5gs5x23#
我 有 同样 的 问题 , 并 解决 了 它 的 第 一 次 找到 哪个 工作 表 正在 访问 时 的 错误 。
我 复制 了 该 工作 表 中 的 所有 数据 ( 包括 公式 、 格式 ) , 并 将 其 与 工作 表 的 VBA 代码 一起 粘贴 到 新 工作 表 中 。 我 删除 了 旧 工作 表 , 并 将 新 工作 表 重 命名 为 旧 工作 表 。
换 句 话说 , 我 把 一切 都 还原 了 。
错误 消失 。
bejyjqdl4#
我有类似的问题错误40036和调试指向一个文件路径变量。当删除或添加代码行的错误移动...
我尝试了Expert Exchange提供的解决方案:
我修复了错误,现在一切正常:)
gfttwv5a5#
谢谢你们的帮助,但是我最终发现,当试图操纵文件来获取数据时,文件的宏会干扰我的进程,所以我只是复制了文件并删除了所有的vb组件,我的代码工作正常
bqucvtff6#
在有问题的文件中,尝试编译VBA项目(通过VBA编辑器中的“调试”〉“编译VBA项目”),并查看相关工作表模块中的任何代码是否有错误