随机Excel-xlsm

随机Excel-xlsm,excel,vba,Excel,Vba,在我的公司,我使用Excel 2013 64位和许多xlsm文件以及一些使用基本内置库的宏。偶尔我会遇到一个随机的“microsoft excel已停止工作”(-主要是在打开文件时,但上周它发生在我盯着屏幕时)。95%的时间是复制文件,这样excel就不会认为它是可信的,到vba编辑器手动编译vba项目并保存它可以解决问题,但是最近它得到了简单的注释,因为这些崩溃的频率从每周1次增加到每天几次。我想我每天浪费30分钟来修复崩溃的文件。所以,一般来说,我知道当excel崩溃发生时该怎么做,但我想知

在我的公司,我使用Excel 2013 64位和许多xlsm文件以及一些使用基本内置库的宏。偶尔我会遇到一个随机的“microsoft excel已停止工作”(-主要是在打开文件时,但上周它发生在我盯着屏幕时)。95%的时间是复制文件,这样excel就不会认为它是可信的,到vba编辑器手动编译vba项目并保存它可以解决问题,但是最近它得到了简单的注释,因为这些崩溃的频率从每周1次增加到每天几次。我想我每天浪费30分钟来修复崩溃的文件。所以,一般来说,我知道当excel崩溃发生时该怎么做,但我想知道是否有什么可以做的,以防止它们发生在第一位


此外,崩溃的文件在装有excel 2010的机器上也能完美地工作。用E2010保存文件也解决了E2013的问题。64位Office的VB代码有很多问题。这些似乎与编译代码时生成的pcode有关,因此重新编译似乎可以修复它们。有一个注册表修复程序可以强制重新编译,您需要设置以下两个值:

HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0\Common
Type:  DWORD

Name:  CompileOnDemand
Value:  0
以及:


这两个为我解决了问题。

64位Office的VB代码有很多问题。这些似乎与编译代码时生成的pcode有关,因此重新编译似乎可以修复它们。有一个注册表修复程序可以强制重新编译,您需要设置以下两个值:

HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0\Common
Type:  DWORD

Name:  CompileOnDemand
Value:  0
以及:


这两个问题为我解决了。

我过去在Excel宏中遇到的崩溃似乎与内存不足有关。我唯一(不理想的)解决方法(处理大量数据时)是确保只打开一个工作簿!我不认为这里的情况是一样的,大多数时候我甚至没有超过我的内存的一半。我过去使用Excel宏时发生的崩溃似乎与内存不足有关。我唯一(不理想的)解决方法(处理大量数据时)是确保只打开一个工作簿!我不认为这里的情况是一样的,大多数时候我甚至不超过我的RAMIs的一半,即按需编译键与进入VBA编辑器工具>选项>常规>编译>“按需编译”?可能-我从某个网站上的帖子中得到了这两个,在那里,我们花了一段时间通过it部分检查所有内容,此ForceVBA修复程序似乎主要与旧的MS Office修补程序(KB4011597)有关,但仅将此值添加到注册表就解决了以下问题:按需编译键与在VBA编辑器工具>选项>常规>编译>按需编译相同?可能-我从某个网站上的帖子中找到了这两个,在那里,我们花了一段时间通过我们的it部分检查了所有内容,主要是bc此ForceVBA修复似乎与旧的MS Office修补程序(KB4011597)有关,但只需将此值添加到注册表中即可解决问题