VBA - Excel 文件无响应,不可选择
VBA - Excel file non responsive, non selectable
请帮我解决以下问题,我一直在努力解决这个问题,但我完全没有想法。
我们有一个巨大的宏,可以将文件中 table 的值恢复到不同的 sheet。用户approves/rejects 每次更改。
问题是,当我到达一个名为“国家输入”的 sheet 时,Excel 进入锁定状态,它不响应任何宏或命令,你不能 select,你无法再取消隐藏列或获取单元格属性(如果我尝试获取简单的 interior.color,我会得到 1004:无法获取内部 属性 范围)。我检查了工作簿是否解锁,worksheet 是否解锁,如果文件是只读的,所有检查都可以,但宏不能再影响文件。
有人 运行 参与其中吗?知道我应该寻找什么,或者如何防止它发生吗?
它只在宏 运行 时执行此操作,甚至在它完成后执行此操作吗?
你有没有修改宏中的“Application.ScreenUpdating”?
如果是这样,您是否有另一个宏 returns ScreenUpdating = true 以防主宏崩溃?
如果没有这些情况,我同意FaneDuru,你可以点击编辑器屏幕左侧放置一个小红点,然后宏代码会暂停等待你按F8(一步前进)或 F5(继续 运行 所有代码)。我们需要更多详细信息来进一步提供帮助。
(我本来可以将其添加为简单评论,但我刚刚加入,没有必要的声誉来对对话进行简单评论。抱歉!)
谢谢大家的意见,这对找出真正原因很有用。
为了做好准备,我一直在和我的经理讨论清除旧代码,因为它实际上使用了单元格更改触发器和 sheet 更改触发器以及您无法正确控制的分配触发器,但它不是新功能,所以它没有更新的优先级,直到客户开始抱怨然后才紧急...
无论如何,问题出在触发器上,因为它们导致枢轴 table 更新,而枢轴 table 与宏不同,它有一个单独的计算线程,因此枢轴table 在宏进入下一步之前不会完成更新,导致 Excel 文件进入这种奇怪的状态。我禁用了一些执行此操作的触发器,但没有比这更好的了。
请帮我解决以下问题,我一直在努力解决这个问题,但我完全没有想法。
我们有一个巨大的宏,可以将文件中 table 的值恢复到不同的 sheet。用户approves/rejects 每次更改。 问题是,当我到达一个名为“国家输入”的 sheet 时,Excel 进入锁定状态,它不响应任何宏或命令,你不能 select,你无法再取消隐藏列或获取单元格属性(如果我尝试获取简单的 interior.color,我会得到 1004:无法获取内部 属性 范围)。我检查了工作簿是否解锁,worksheet 是否解锁,如果文件是只读的,所有检查都可以,但宏不能再影响文件。
有人 运行 参与其中吗?知道我应该寻找什么,或者如何防止它发生吗?
它只在宏 运行 时执行此操作,甚至在它完成后执行此操作吗? 你有没有修改宏中的“Application.ScreenUpdating”? 如果是这样,您是否有另一个宏 returns ScreenUpdating = true 以防主宏崩溃?
如果没有这些情况,我同意FaneDuru,你可以点击编辑器屏幕左侧放置一个小红点,然后宏代码会暂停等待你按F8(一步前进)或 F5(继续 运行 所有代码)。我们需要更多详细信息来进一步提供帮助。
(我本来可以将其添加为简单评论,但我刚刚加入,没有必要的声誉来对对话进行简单评论。抱歉!)
谢谢大家的意见,这对找出真正原因很有用。
为了做好准备,我一直在和我的经理讨论清除旧代码,因为它实际上使用了单元格更改触发器和 sheet 更改触发器以及您无法正确控制的分配触发器,但它不是新功能,所以它没有更新的优先级,直到客户开始抱怨然后才紧急...
无论如何,问题出在触发器上,因为它们导致枢轴 table 更新,而枢轴 table 与宏不同,它有一个单独的计算线程,因此枢轴table 在宏进入下一步之前不会完成更新,导致 Excel 文件进入这种奇怪的状态。我禁用了一些执行此操作的触发器,但没有比这更好的了。