当用户在单元格内时,指定单元格的值

时间:2015-08-21 17:31:15

标签: excel vba excel-vba

我尝试创建一个while循环以确保它是在用户输入的情况下设置的,但是当它尝试分配值并且用户已经在输入内容时,它似乎神奇地停止了。

基本上如何阻止宏从这种意外情况结束?如何检测用户是否阻止?

2 个答案:

答案 0 :(得分:1)

从您的评论中,您对VBA的运作方式存在误解。

首先,从模块运行的宏控制工作簿,你无法在一段时间内检测用户输入或者像这样循环检测用户输入,你想要的是使用本教程中的事件监听器: a good site for vba basics 基本上使用" Private Sub Worksheet_Change"工作表/工作簿的选项。 此外,如果您只监控一个单元格,请查看此how to use worksheet change

答案 1 :(得分:0)

Function IsEditing() As Boolean

    If Application.Interactive = False Then
        IsEditing = False
        Exit Function
    End If

On Error GoTo err:
    Application.Interactive = False
    Application.Interactive = True

    IsEditing = False
    Exit Function

err:
    IsEditing = True
    Exit Function
End Function