单步执行(F8)代码突然执行所有代码?

roh*_*l77 7 excel vba excel-vba

我写的宏(在另一台机器上)突然在我的电脑上表现得很奇怪.我在Excel 2010环境中编写代码,并尝试逐步执行代码.

每次我这样做,经过几行后,其余代码立即执行.如果我设置断点,它将停止.有时候,我可以在再次进行auotexecutes之前逐步完成几行.

是什么赋予了?我在网上找不到任何答案......因此我在Stackoverflow上发表了第一篇文章.

谢谢你的任何提示!这让我的生活变得困难.

更新:我现在已经回到原始编程环境并且通过代码单步执行没有问题.所以它必须是我的Excel设置中的东西!我无法弄清楚它可能是什么.

Tra*_*ace 5

既然你一开始提到 F8 按钮按预期工作,我的大部分想法都从桌子上清除了。
我无法解释这一点,但也许我可以提供一个临时的“解决方法”,这是我能做的最好的。
您可以通过单击每一行然后应用 CTRL+F8(运行到光标)来模拟 F8 。光标将充当断点,它比在每一行上放置/删除断点更麻烦。
它需要更多的手工操作,但它运行得同样快(至少在普通桌面上)。希望它至少可以减少您在调试时的一些挫败感!


小智 5

我发现这里也引用这个解决方案。解决方案是对注册表进行更改(取自来源):

注册表更改会影响 RPC 调试,您可以在 Microsoft 网站上阅读更多相关信息:使用 RPC 调试调试 COM 客户端和服务器

1.关闭Excel

2.备份Registry文件,然后打开Registry——微软官网上有说明

3.转到适用的注册表项:

  • 对于 64 位窗口上的 32 位 Office,请转到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VBA
  • 对于 32 位窗口上的 32 位 Office,请转到注册表项:KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VBA
  • 对于 64 位 Windows 上的 64 位 Office,请转到注册表项:KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VBA

4.在右侧窗口右击,点击新建

5.单击 DWORD(在下面的屏幕截图中,DWORD 用于在 64 位计算机上运行的 32 位 Office)

6.将 DWORD 命名为 DisableOrpcDebugging7

7.右键单击DWORD,然后单击修改

8.将值更改为 1,然后单击确定。

9.完成的DWORD将出现在注册表中

10.关闭注册表,然后重新打开 Excel,此时 F8 键应该可以正常工作,逐步执行代码。