Manter cursor em Textbox

Text Box, Form's, rotinas, etc.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Manter cursor em Textbox

Mensagempor Oficina1 » Qua Set 11, 2019 11:33 pm

Olá,
a seguinte rotina deveria registrar - quando se digita o valor e depois teclando Enter - o valor digitado na celula E2.
Em seguida, a macro Explo deve usar o valor de E2, somar 500 e mostrar o resultado em E5.
Depois a textbox é limpa e o cursor deve ficar ativo no textbox1 esperando a digitação de outro valor e assim por diante.
Fiz algo parecido usando o evento AfterUpdate mas dessa vez não está funcionando.
Não sei anexar um arquivo para exemplo. Muito grato se alguem ajudar.

Código: Selecionar todos
Private Sub TextBox1_AfterUpdate()
   Range("E2") = TextBox1.Value
      Explo.Explo
     TextBox1.Value = Clear
     TextBox1.SetFocus
End Sub


Código: Selecionar todos
Sub Explo()
   Dim valor As Integer
   valor = Range("E2").Value
   Range("E5") = valor + 500
End Sub
Oficina1
Membro
Membro
 
Mensagens: 13
Registrado em: Dom Abr 01, 2018 4:50 am
Has thanked: 3 times
Have thanks: 0 time

{ SO_SELECT }

Re: Manter cursor em Textbox

Mensagempor wagner » Qui Set 12, 2019 4:31 pm

Oficina1

Boa tarde!

Coloque o código no evento Exit dessa forma:
Código: Selecionar todos
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Range("E2") = TextBox1.Value
      Call Explo
     TextBox1.Value = ""
     Cancel = True
End Sub
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5547
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 102 times
Have thanks: 2356 times

Re: Manter cursor em Textbox

Mensagempor Oficina1 » Qui Set 12, 2019 5:36 pm

Obrigado, Wagner. Usei sua sugestão mas não funciona. Usando o Call (depois de fechar o userform) ele diz que era esperado variavel ou procedimento e não módulo. Então fiz assim:
Código: Selecionar todos
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Range("E2") = TextBox1.Value
      Explo.Explo
     TextBox1.Value = ""
     Cancel = True
End Sub


Com essa mudança, depois que digito no textbox, mesmo dando Enter, não executa e o valor não aparece em E2. Só executa depois de fechar (clicando para fechar) o userform. Esse resultado é quase igual ao do codigo que postei.
Oficina1
Membro
Membro
 
Mensagens: 13
Registrado em: Dom Abr 01, 2018 4:50 am
Has thanked: 3 times
Have thanks: 0 time


Voltar para Formulários

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes