VBA Validar entrada na caixa de entrada

0

Eu preciso de uma caixa de entrada que forneça um valor que seja um enumerador. MSDN Não menciona a validação dos campos.

Existe uma maneira de fazer isso? Como em HTML5, a tag pattern in input ?

Aqui está um trecho do meu código relevante.

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)
    
por sgp667 03.11.2014 / 16:47

1 resposta

0

Você precisa usar um formulário de usuário. Eu não acredito que o InputBox tenha a funcionalidade que você está procurando.

Aqui está um UserForm de amostra junto com o código para sua funcionalidade.

Subcall_uform()UserForm1.ShowUsed_Scope=UserForm1.TextBox1.TextUnloadUserForm1EndSubSubCommandButton1_Click()Used_Scope=TextBox1.ValueMe.HideEndSubPrivateSubTextBox1_Change()OnlyNumbersEndSubPrivateSubOnlyNumbers()IfTypeName(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
    
por 04.11.2014 / 00:25