VBA para rodar com ...
 
Notifications
Clear all

VBA para rodar com "edição da célula" ativa!  


Jerffson
(@jerffson)
New Member Registered
Entrou: 2 meses atrás
Posts: 3
Topic starter  

Oi! Como posso fazer, no vba, para quando estiver digitando valores em uma célula e ela chegar no 4ª caractere, executar um comando que de ENTER automaticamente? Eu só consigo fazer quando a célula que está ativa (após ENTER manual), mas não consigo fazer quando a edição da célula está ativa (imagem anexa).


ResponderCitar (Quote)
Televisaos
(@televisaos)
Eminent Member Registered
Entrou: 7 meses atrás
Posts: 35
 

Boa tarde @jerffson,

Como respondi anteriormente em uma questão parecida para o @Anderson, a única forma que eu encontrei para executar macro enquanto altera o valor em tempo real foi utilizando uma TextBox. Você pode adaptar o código abaixo para as suas necessidades utilizando o comando SendKeys.

Private Sub TextBox1_Change()
Range("A1") = TextBox1.Text
If Len(TextBox1.Text) = 5 Then
MsgBox "ok"
End If
End Sub


Att, Televisaos


ResponderCitar (Quote)
Anderson
(@anderson)
Estimable Member Registered
Entrou: 10 meses atrás
Posts: 157
 

Acredito que o @EdsonBR saiba.

Vamos aguardar.

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.


ResponderCitar (Quote)
Jerffson
(@jerffson)
New Member Registered
Entrou: 2 meses atrás
Posts: 3
Topic starter  

@anderson Obrigado! Mas essa é uma ação que eu preciso fazer em varias células. E ficar criando caixas de texto não seria viável.


ResponderCitar (Quote)
EdsonBR
(@edsonbr)
Honorable Member Moderator
Entrou: 5 anos atrás
Posts: 719
 
Postado por: @anderson

Acredito que o @EdsonBR saiba.

Vamos aguardar.

Sem uma tonelada das instáveis e invasivas API's do Windows suponho que não seja possível, colegas.

Tentem adaptar conforme diretrizes das seguintes fontes:

Managing Low-Level Keyboard Hooks with the Windows API

Wait Until a Key is Pressed with GetAsyncKeyState VBA


ResponderCitar (Quote)