VBA para rodar com ...
 
Notifications
Clear all

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

5 Posts
4 Usuários
0 Likes
1,120 Visualizações
(@jerffson)
Posts: 3
New Member
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).

 
Postado : 06/11/2020 3:39 pm
(@televisaos)
Posts: 49
Eminent Member
 

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

 
Postado : 10/11/2020 1:43 pm
(@anderson)
Posts: 203
Reputable Member
 

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.

 
Postado : 10/11/2020 5:47 pm
(@jerffson)
Posts: 3
New Member
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.

 
Postado : 12/11/2020 5:26 pm
EdsonBR
(@edsonbr)
Posts: 1056
Noble Member
 
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

 
Postado : 16/11/2020 4:45 pm