Excel VBA:发生错误后突出显示文本框值 - 类似

时间:2017-08-03 22:20:35

标签: excel vba

所有

我有一个带有两个文本框的简单用户窗体。我试图捕获错误并将用户发送回TextBox1,如果条目是> 1000。我发现这个网站上的代码与上面的标题相近。

下面的代码会捕获错误并突出显示在Textbox1中输入的数字>(没有错误消息框)。但是,如果我“取消注释”并输入

MsgBox(“值大于1,000”)

取消= True后,错误将陷入,msg框显示,但大于1,000的数字不会突出显示。

我已经把大部分剩余的头发拉到了试图看出为什么这不起作用而且我正在遵循的例子。帮助!

谢谢

斯坦

Private SkipIT As Boolean

'------------------------------------------------------

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

    If SkipIT Then Exit Sub

    With Me.TextBox1
        If Val(Me.TextBox1.Value) > 1000 Then
            Cancel = True
            'MsgBox ("Value is Greater than 1,000")  'Will highlight if this line is commented, but no error message box
            .SetFocus
            .SelStart = 0
            .SelLength = Len(.Text)
        End If
    End With
 End Sub

'--------------------------------------------------------------------

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    SkipIT = True
End Sub

0 个答案:

没有答案