VBA 编译错误:意外错误 35010

问题描述 投票:0回答:5

我正在尝试在 Excel 中编译一个大项目,但是意外错误经常出现,但并非总是出现。一位工程师告诉我,这和虚拟内存有关。谁能告诉我应该做什么来消除这个问题?谢谢!

excel excel-2010 vba
5个回答
3
投票

就我而言,这是意外发生的,项目并不是特别大。关闭 VBA 主机并重新打开允许项目编译。

要解决此问题,我建议在转到高级系统设置之前尝试最简单的修复...

  • 关闭重新打开
  • 维修文件/工作表
  • 在其他用户个人资料上进行测试
  • 在其他电脑上测试
  • 其他东西
  • 更改系统设置

1
投票

在控制面板中,转至系统 > 高级系统设置 > 高级选项卡 > 性能设置 > 高级 > 更改虚拟内存。然后选择自定义尺寸并将其增加到合理的值。初始大小 8000,最大大小 15000。单击“确定”并重新启动计算机以进行更改。然后问题就消失了。

解释是,当您编译一个大项目时,VBA 编译时,虚拟内存很快就会被填满。


1
投票

就我而言,工作簿已损坏。 修复它解决了问题。


1
投票

此外,有时重新编译 VBA 代码也有帮助(如果有的话):

  1. ALT+F11 打开 VBA 编辑器。

  2. 选择菜单:“调试”>“编译”以重新编译表单和代码。

  3. 重新打开文件。


0
投票

感谢 Jamie Garroch here,该错误似乎终于得到解决。
查找他日期为“2023 年 12 月 15 日”和“2024 年 1 月 12 日”的消息。

TLDR:在编译时,64 位 VBE 中“AddressOf”代码的存在是其根本原因。

Jamie Garroch:
“我于 2022 年 11 月向 Microsoft 报告了此问题,从那时起,我在 BrightCarbon 的团队就一直与 Microsoft VBA 团队合作。看起来终于在 64 位版本的 VBE7.DLL 中引入了修复程序从版本 2402 Build 16.0.17304.20000 开始(我在测试频道)。要检查是否有修复程序,请打开此文件夹:

C:\Program Files\Microsoft Office oot fs\ProgramFilesCommonX64\Microsoft Shared\VBA\VBA7.1
右键单击VBE7.DLL文件,然后在“详细信息”选项卡中检查版本,如下所示:
7.1.11.31 = 35010 问题
7.1.11.33 = 35010 固定”


如果无法更新,只需注释掉代码或者放在条件下即可:

#If Win64 ' Running in Office 64-bit
    ' Don't do anything!
#Else
    ' Do your WinAPI stuff with AddressOf callbacks
#End If

如果您觉得有帮助,请不要忘记在链接页面上为他的答案投票。

© www.soinside.com 2019 - 2024. All rights reserved.