EXCELVBA:“;xxxxx.xlsm可能包含与启用excel宏的工作簿不兼容的功能……”;

EXCELVBA:“;xxxxx.xlsm可能包含与启用excel宏的工作簿不兼容的功能……”;,vba,excel,Vba,Excel,我在启动Excel时打开了一个xlsm文件,我会用一些新代码不时更新它。它很好用 从几周前开始,当我保存这个文件时 my_utils.xlsm可能包含与启用excel宏的工作簿不兼容的功能。是否将工作簿保留为此格式 有没有办法知道是哪个代码或功能导致了警告 我可以按顺序删除部分代码,最好恢复添加/修改的顺序。在我的例子中,这可能不是很容易,所以我正在寻找可能的原因,所以也许我可以马上发现它 备注:Excel版本或文件格式(xlsx->xlsm)发生任何更改后,警告不会出现。只有代码添加/更新 编

我在启动Excel时打开了一个xlsm文件,我会用一些新代码不时更新它。它很好用

从几周前开始,当我保存这个文件时

my_utils.xlsm可能包含与启用excel宏的工作簿不兼容的功能。是否将工作簿保留为此格式

有没有办法知道是哪个代码或功能导致了警告

我可以按顺序删除部分代码,最好恢复添加/修改的顺序。在我的例子中,这可能不是很容易,所以我正在寻找可能的原因,所以也许我可以马上发现它

备注:Excel版本或文件格式(xlsx->xlsm)发生任何更改后,警告不会出现。只有代码添加/更新

编辑: 我得到了我的xlsm的一个极简版本,它仍然给出警告,其中只有一个虚拟的
公共功能。
注释该函数并保存后,警告消失。取消对函数的注释并保存后,警告不会再出现(它将永远消失)


首先,这不一定是您的代码

您应该尝试将其保存为Binary.xlsb-它的工作原理与.xlsm一样好,而且速度更快,体积更小。与宏的兼容性没有差异。(我总是使用这种文件类型)


如果你没有得到一个弹出的问题得到解决,如果你仍然收到这个按摩,检查你是否添加了一些外部对象,或格式。。。如果您添加了不兼容的代码,宏将无法工作…

至于具体问题

有没有办法知道是哪个代码或功能导致了警告

我不知道。 但我设法消除了警告

遍历每个模块,选择所有代码并对其进行注释。 保存文件。警告消失了。 然后再次遍历每个模块,取消注释所有代码。 警告永远消失了,代码也一样。 不需要使用表单或类模块


神秘…

而且速度更快…
只有在处理大文件时,否则几乎没有什么区别:)是的,不知怎的,我只是假设他的文件很大…;)@Data.life——我会努力回来的。那么,通过以不同的格式保存,警告可能会消失?这是否意味着所包含的信息不同(不仅格式不同)?嘿,老实说,当您使用旧的Excel文件类型时,通常会出现此弹出窗口。通常,它应该包含一些关于问题的概述。有吗?[link]@Data.life——正如前面所说,我很确定唯一改变的是添加代码。请用通用对话框的图像检查更新的问题。单击“帮助”只会进入“帮助”主菜单。@SiddharthRout-谢谢。我会试着把它清理干净,然后把它寄出去。@SiddharthRout-我有一个清理过的版本。你同意我寄吗?怎么了?嗨。我不在城里,6号回来。在6号之后留下评论,我会回到这个问题:)@SiddharthRout-你可以拿到样品吗?