Restringir a entrada de texto ou números no TextBox

Nesse artigo estarei mostrando com validar campos de caixa de texto para receber determinado valor. Restringir a entrada de texto ou números na caixa de texto e muito útil e se faz necessário para controle do projeto, no nosso caso aqui vai ser Texto ou Numero de acordo com cada TextBox.

Restringir a entrada de texto ou números

Vamos criar um arquivo em branco no Excel para que possamos montar nosso exemplo. Para isso cria uma nova pasta de trabalho salva ela com o nome de sua preferência, eu coloquei o mesmo do titulo do arquivo para fins didáticos. Com a nossa pasta de trabalho criada e salva devidamente como “Pasta Habilitada para Macro do Excel” caso não seja nessa extensão provavelmente não irá funcionar corretamente o projeto.

Restringir a entrada de texto ou números

Alt+F11 Abrindo o editor VBE

Restringir a entrada de texto ou números na TextBox Excel VBA. Com o editor VBE aberto vamos inserir um UserForm na guia Inserir e de início não vamos mudar nenhuma configuração dele. Após inserir o formulário propriamente dito, agora vamos adicionar duas Label (Rotulo), e em seguida duas TextBox(Caixa de Texto).

Restringir a entrada de texto ou números

Para as Label vamos dar os nomes somente para entendimento pois não faremos uso delas na codificação. Para a primeira Somente Texto e a segunda Somente Números. Vamos renomear as caixas de texto (TextBox) para a primeira na Propriedade Name dela coloca Txt_SoTexto e a segunda Txt_SoNumero assim mesmo sem acentos e caracteres especiais apenas se usa anderlaine.

Restringir a entrada de texto ou números

Codificação da primeira TextBox – Somente Texto

Restringir a entrada de texto ou números. Vamos começar a codificar a primeira caixa de texto para fazer as validações e restrições de entrada de números. De um duplo clique na primeira caixa de texto e dentro do evento Change escreve o seguinte código como está especificado abaixo.

TextBox somente número:

'Valida e bloqueia a entrada de texto no campo de texto
Private Sub Txt_SoNumero_Change()
Dim Texto As Variant
Dim Caracter As Variant
Dim Comprimento As Integer
Dim i As Integer

On Error Resume Next

Texto = Me.Txt_SoNumero.Value
Comprimento = Len(Me.Txt_SoNumero.Value)

For i = 1 To Comprimento
    Caracter = Mid(Texto, i, 1)
    If Caracter <> "" Then
        If Caracter < Chr(48) Or Caracter > Chr(57) Then
            Me.Txt_SoNumero.Value = Replace(Texto, Caracter, "")
        Else
        End If
    End If
    Next i
    On Error GoTo 0
    Caracter = 0
End Sub
Restringir a entrada de texto ou números

TextBox Somente texto

'Valida e bloqueia a entrada de numeros no campo de texto
Private Sub Txt_SoTexto_Change()
Dim Texto As Variant
Dim Caracter As Variant
Dim Comprimento As String
Dim i As Integer
    
On Error Resume Next
    
    Texto = Me.Txt_SoTexto.Value
    Comprimento = Len(Me.Txt_SoTexto.Value)
    For i = 1 To Comprimento
        Caracter = CInt(Mid(Texto, i, 1))
        If Caracter <> "" Then
            If Not Application.WorksheetFunction.IsText(Caracter) Then
                Me.Txt_SoTexto.Value = Replace(Texto, Caracter, "")
            Else
            End If
        End If
    Next i
    On Error GoTo 0
End Sub
Restringir a entrada de texto ou números

Não estarei explicando cada objeto e propriedade empregada no desenvolvimento, mais são comando do dia a dia de um programador. Apenas desenvolva no seu projeto pessoa nada de copiar e colar, pois a prática fixa o entendimento e ajuda melhorar o aprendizado.

Breve introdução das funcionalidades dos códigos.

Somente números: aqui fazemos usamos a função Chr (x), que especifica que, se o valor inserido é inferior a 48 (0) e maior que 57 (9), então ele deve ser substituído por “”, ou seja, vazio.

Apenas texto: aqui usamos a função IsText para validar tudo aquilo que não for considerado como um texto será substituído por “”, isto é, vazio.

Veja mais…

Sistema de Controle Financeiro Completo em Excel 4.0

Planilhas para a gestão do seu negócio em Excel

Gerar orçamento em Excel e salvar em PDF

Planilha simulador de parcelamento em Excel

Como controlar recebimentos em cartões de crédito