VBA验证输入框中的输入

VBA验证输入框中的输入

我需要一个输入框来提供一个枚举值。微软根本没有提到验证字段。

有办法吗?就像 HTML5 中的patternininput标签一样?

这是我的相关代码片段。

Enum Scope
    Cell = 1
    Row = 2
    Column = 3
End Enum
.... some other code ...
Used_Scope = Application.InputBox( _
    Title:="higlight scope", _
    Prompt:="Enter Row, Column, or Cell to decide what to higlight", _
    Type:=2)

答案1

您需要使用 UserForm。我不认为 InputBox 具有您正在寻找的功能。

这是一个示例用户表单以及用于实现您的功能的代码。

在此处输入图片描述

Sub call_uform()

UserForm1.Show

Used_Scope = UserForm1.TextBox1.Text

Unload UserForm1


End Sub


    Sub CommandButton1_Click()

    Used_Scope = TextBox1.Value

    Me.Hide

    End Sub

        Private Sub TextBox1_Change()

        OnlyNumbers

        End Sub

        Private Sub OnlyNumbers()


            If TypeName(Me.ActiveControl) = "TextBox" Then

                With Me.ActiveControl

                    If Not IsNumeric(.Value) And .Value <> vbNullString Then

                        MsgBox "Sorry, only numbers allowed"

                        .Value = vbNullString

                    End If

                End With

            End If

        End Sub

        Private Sub UserForm_Click()

        End Sub

相关内容