Vba 宏占用了太多内存

Vba 宏占用了太多内存,vba,excel,Vba,Excel,我有一个Excel工作簿,里面有一堆宏。工作簿有4个工作表,由于每个工作表的限制不同,每个工作表都有不同的代码实现。此后,当您关闭工作簿时,它的大小约为80MB。这是一个问题,因为我无法通过电子邮件发送工作簿,因为它的大小 是否有可能禁用宏以减小工作簿的大小?我的意思是,我希望宏仍在工作簿中,但不会影响工作簿的大小,因为它们不会激活工作簿。只有当我启用宏时,大小才会再次变为80MB 也许可以创建一个按钮来禁用4个工作表中的宏,并在再次按下时启用它们?我不知道如何才能做到这一点,也不知道是否有办法

我有一个Excel工作簿,里面有一堆宏。工作簿有4个工作表,由于每个工作表的限制不同,每个工作表都有不同的代码实现。此后,当您关闭工作簿时,它的大小约为80MB。这是一个问题,因为我无法通过电子邮件发送工作簿,因为它的大小

是否有可能禁用宏以减小工作簿的大小?我的意思是,我希望宏仍在工作簿中,但不会影响工作簿的大小,因为它们不会激活工作簿。只有当我启用宏时,大小才会再次变为80MB

也许可以创建一个按钮来禁用4个工作表中的宏,并在再次按下时启用它们?我不知道如何才能做到这一点,也不知道是否有办法做到这一点,但我们必须感谢任何帮助


提前谢谢

如上所述,不是VBA代码,而是最有可能导致数据增加的损坏或图像。以下是查找导致问题的工作表的一些步骤:

  • 将文件扩展名从.xlsm更改为.zip
  • 打开文件,您将看到一个目录结构
  • 打开xl目录,然后打开工作表目录
  • 现在,您将看到作为.xml文件列出的所有工作表及其 大小
  • 找到罪犯后,退出文件,将文件扩展名改回.xlam
  • 返回文件并查找问题所在。如果无法确定,可以复制/粘贴到另一张图纸,或删除该图纸并重新创建

  • 宏的大小实际上只是其文本源代码的大小,您真的有80mb的VBA代码吗?到底是什么构成了80mb?哇。我宁愿怀疑公司徽标或其他嵌入图像是这里的问题。我有一个超过40个不同模块的项目,我甚至不接近80MB。尝试创建一个新工作簿,并将宏移动到该工作簿。完成后,保存它,然后再次检查大小。如果这个是80MB,听起来好像有什么东西被破坏了。否则,更有可能是您有格式问题、嵌入的图像或信息、整个范围内的格式使用范围非常大、工作簿损坏或这些组合。我没有任何图像。问题可能是因为格式问题,因为我有很大的usedrange,在整个范围内都有格式。我只将代码复制到另一个工作簿中,是的,大小很小,非常小。我猜该文件已损坏。可能是
    .xlsm
    文件
    .xlam
    文件用于加载项。