3

在我设置的工作表 SelectionChange 事件中:

Application.Interactive = False
.... do work
Application.Interactive = True

出于某种原因,即使我知道代码正在执行,Interactive 也没有恢复为 true。

Excel 2013

有任何想法吗?

4

1 回答 1

2
Sub Main()

    Debug.Print Application.Interactive
    Application.Interactive = False
    Debug.Print Application.Interactive
    Application.Interactive = True
    Debug.Print Application.Interactive

End Sub

对我来说不会失败...试试看,在这里查看更多

由于您发现了失败的原因,因此可能Application.Volatile需要在使用它的函数上将其设置为 false,因为该Interactive模式会阻止用户界面并Volatile根据用户输入进行计算。当用户输入被阻止时,您不能期望评估用户输入的函数起作用。一个排除另一个 - 希望这是有道理的。

此外,检查您的on error resume nextoron error goto <label>语句,因为这会导致跳过一些代码,因此Application.Interactive = True永远不会执行。

于 2013-11-01T11:15:41.140 回答