Мне нужно поле ввода, которое предоставит значение, которое является перечислителем. MSDN вообще не упоминает проверку полей.

Есть ли способ сделать это? Как в HTML5 pattern во input теге?

Вот фрагмент моего соответствующего кода.

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 ответ1

0

Вам нужно использовать пользовательскую форму. Я не верю, что 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .