Página 1 de 1
TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 18 Out 2017 às 13:50
por AMORIM123
Salve galera do forúm
Galera estou com a seguinte questão:
Tenho o código a baixo que faz um controle do tipo de dados (apenas número) que entra no meu "txt_razao_social", não permitindo a entrada de texto, apenas números...
A questão é: Como posso aplicar a mesma condição do evento change para vários textbox ao envés de escrever um evento change para cada textbox.
Private Sub txt_razao_social_Change()
If Len(txt_razao_social) > 0 Then
tamanho = Len(txt_razao_social)
ultimo = Right(txt_razao_social, 1)
If Not IsNumeric(ultimo) Then
txt_razao_social = Left(txt_razao_social, tamanho - 1)
End If
End If
Desde já muito grato!
TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 18 Out 2017 às 14:04
por BokoMoko
O evento change é capturado objeto por objeto. A validação do txtbox é feita a posteriori da alteração.
Hoje em dia, o bom design de interface recomenda que a validação seja feita no formulário e não no campo. Assim, o usuário digita todos os campos, clica num botão de "gravar" e a validação então é feita em todos os campos e os alertas são enfileirados. Dessa forma o usuário conserta tudo de uma vez só, em vez de ficar validando campo a campo.
Fazendo assim, você facilita a migração da sua aplicação VBA desktop para a web.
Re: TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 18 Out 2017 às 15:36
por alexandrevba
Boa tarde!!
Uma forma seria...
Código: Selecionar todosPrivate Sub TextBox1_Enter()
'Chamou a função NumericTextBox
Set NumericTextBox = TextBox1
End Sub
Código: Selecionar todosPrivate Sub TextBox2_Enter()
'Chamou a função NumericTextBox
Set NumericTextBox = TextBox2
End Sub
Código: Selecionar todosPrivate Sub TextBox3_Enter()
'Chamou a função NumericTextBox
Set NumericTextBox = TextBox3
End Sub
Código: Selecionar todosPrivate Sub NumericTextBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Exit Sub
Case Else
KeyAscii = 0
MsgBox "Digite somente números.", 48, "Digite somente números."
Exit Sub
End Select
End Sub
Att
TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 18 Out 2017 às 17:48
por BokoMoko
Resolvido. Agora é só fazer com TODOS os textbox do formulário essa manobra aí.
Re: TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 18 Out 2017 às 23:19
por babdallas
Muito bom Alexandre. Não conhecia este WithEvents. Vou pesquisar a respeito.
TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 19 Out 2017 às 12:04
por AMORIM123
Caro alexandrevba muito bom..obrigado!
O MsgBox realça bem o que pode ser inserido no txtbox, muito legal!
Mas seria bom se ao envés do textbox o código apenas excluísse o caractere não permitido..
Não me atrevi a mexer no código, pois sou bem iniciante em vba, portanto agradeço se puder editar o código para excluí automaticamente o caractere não permitido
Att, gradecido!
TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 19 Out 2017 às 12:11
por gfranco
Realmente.Se foi o mestre alexandrevba que fez... bem poucos teriam a ousadia de mexer... eu? nem pensar!!!! mesmo que soubesse !!!!
Re: TXTBOX QUE PERMITA NÚMEROS, EXCLUÍ TEXTO AUTOMÁTICAMENT
Enviado: 19 Out 2017 às 15:08
por babdallas
Tente utilizar o evento Keypress, permitindo apenas os caracteres de 0 a 9 (keyascii entre asc(0) e asc(9)). Caso contrário, keyascii = 0.