Outro dia postei um vídeo no Youtube que ensinava a criar um Formulário de Pesquisa com VBA (Link), quando um dos alunos me questinou sobre o tipo de pesquisa com um Textbox que aceita apenas Números.
Dái surgiu a idéia desta postagem que é te ensinar a como fazer para que o seu campo aceite apenas valores números quando o usuário digita.
Para que isso aconteça você precisa implementar duas etapas no seu formulário, sendo elas:
-
Criar a função que verifica se o valor digitado é um número, dentro do seu formulário.
-
Vincular esta ação no seu formulário através do evento _KeyPress( )

Criando a Função – Textbox que aceita apenas Números
Criando a Função SóNumeros, dentro do formulário que contém o TextBox.
Private Function SóNúmeros(l As IReturnInteger)
Select Case l
Case Asc("0") To Asc("9")
SóNúmeros = l
Case Else
SóNúmeros = 0
MsgBox "Favor inserir apenas números!", vbExclamation, "CAMPO TIPO NÚMERO"
End Select
End Function
Após criar a função você deverá clicar 2x no seu campo que deseja que seja feita a validação, altere o evento de _Change, para _KeyPress conforme imagem abaixo:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) KeyAscii = SóNúmeros(KeyAscii) End Sub
Esta é uma forma de realizarmos a validação do que está sendo digitado no campo, ao utilizarmos o evento KeyPress, assim que o usuário digita o código faz a validação, e se não for número ele devolve com uma mensagem na tela.
Espero que tenha te ajudado e caso conheça outras formas compartilhe comigo!
Dá uma olhada também no artigo abaixo…
http://douglasgodoy.com.br/formulario-de-pesquisa-com-vba/
Um abraço!
Douglas Godoy

Deixe um comentário