ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Ajuda - Somente Numeros TexBox AfterUpdate

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
duducp
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qui Abr 02, 2015 9:44 am
Contato:

Ajuda - Somente Numeros TexBox AfterUpdate

Mensagem por duducp » Qui Abr 02, 2015 10:01 am

Galerinha blz?,
estou utilizando uma textbox onde a pessoa digita o id do cliente e assim que aperta enter ele procura e mostra os dados do cliente. Eu queria bloquear para que possa digitar apenas números mas como utilizo o comando afterupdate ele não esta aceitando.. alguém poder me da uma dica?

Private Sub txt_id_AfterUpdate()

If (txt_id.Text = 0) Then 'se ID for menor ou igual a 0
MsgBox "Código não Encontrado", vbCritical, Soft
txt_id.Enabled = True 'vai ativar o id
btn_img_pesq.Enabled = True 'vai ativar o botao pesquisa
txt_id.Text = ""
txt_id.SetFocus
End If

If (txt_id.Text <> "") Then 'se ID for diferente de nada
txt_id.Enabled = False 'vai desativar o id
btn_img_pesq.Enabled = False 'vai desativar o botao pesquisa
End If

Dim Linha As Long
Dim id As Long 'mudar para string se o id tiver letras ou símbolos
If Val(Me.txt_id) = 0 Then
Exit Sub
End If
Plan1.Activate
Linha = 2
id = txt_id
Do Until Cells(Linha, 1) = "" 'vai executar o laço até encontrar uma célula vazia
'Condição para localizar o registro
If Cells(Linha, 1) = id Then 'se encontrar o valor registro na célula pesquisada
opt_funcionario = Cells(Linha, 2)
opt_exfuncionario = Cells(Linha, 3)
opt_ativo = Cells(Linha, 4)
opt_inativo = Cells(Linha, 5)
txt_razao = Cells(Linha, 6)
txt_endereço1 = Cells(Linha, 7)
txt_bairro01 = Cells(Linha, 8)
txt_complemento = Cells(Linha, 9)
cmb_cidade01 = Cells(Linha, 10)
txt_cep01 = Cells(Linha, 11)
'cmb_uf01 = Cells(Linha, 12)

Exit Sub 'interrompe o código quando encontrar o código e preencher os dados
End If
Linha = Linha + 1

Loop
'se o looping for executado até a última linha significa que o excel não encontrou o código na listagem
MsgBox "Código não Encontrado", vbCritical, Soft
txt_id.Enabled = True 'vai ativar o id
btn_img_pesq.Enabled = True 'vai ativar o botao pesquisa
txt_id.Text = ""
txt_id.SetFocus
End Sub



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 791
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Ajuda - Somente Numeros TexBox AfterUpdate

Mensagem por srobles » Sex Jun 05, 2015 2:27 am

Fala dudcp, blza?

Tente colocar a verificação antes do seu código :

Código: Selecionar todos

Private Sub txt_id_AfterUpdate()
     If IsNumeric(txt_id) Then
         ' Insira seu código aqui
     Else
         ' Trave os controles desejado aqui
     End If
End Sub
Teste ai e, qq coisa nos avise.

[]s


Espero ter ajudado.

Abs.

Saulo Robles


Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond


Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].

Avatar do usuário
netocasaroli
Consultor
Consultor
Mensagens: 219
Registrado em: Seg Mai 11, 2015 5:24 pm
Localização: Londrina-PR

Re: Ajuda - Somente Numeros TexBox AfterUpdate

Mensagem por netocasaroli » Sex Jun 05, 2015 3:58 pm

Pode colocar o código para bloquear valores não numéricos no evento Change; não vai afetar no AfterUpdate...

Código: Selecionar todos

Private Sub txt_id_Change()
    txt_id = Val(txt_id)
End Sub


Se a resposta foi útil, não esqueça de registrar seu agradecimento!! [É aquele "joinha" ali em cima...]


Abs..

Neto Casaroli

Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1559
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Ajuda - Somente Numeros TexBox AfterUpdate

Mensagem por Mauro Coutinho » Qui Jul 30, 2015 8:19 am

duducp, movi seu tópico pois no forum DICA é para somente postarmos dicas e não solicitar ajuda.

Quanto a sua questão, utilize a instrução abaixo, que não afetará o evento AfterUpdate :

Código: Selecionar todos

Private Sub txt_id_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        'Limita a Qde de caracteres
        txt_id.MaxLength = 8
       
        'para permitir que apenas números sejam digitados
        If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
            KeyAscii = 0
        End If
End Sub
Veja outras dicas referentes a formatação e limitação utilizando o evento KeyPress e change no tópico abaixo:
Fomatar TextBox Eventos KeyPress e Change
viewtopic.php?f=17&t=1505#.VboIGUaXtkY

[]s


Mauro Coutinho - Exemplos Somente em Office 2003
São José dos Pinhais - Pr
Se sua Duvida foi solucionada . . . .Acrescente [RESOLVIDO] ao título.
Ficou satisfeito com o FORUM ? Divulgue, indicando-o aos colegas !

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder