VBA para rodar com ...
 
Notifications
Clear all

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


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

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).

Responder
4 Respostas
Televisaos
Posts: 42
Registered
(@televisaos)
Eminent Member
Entrou: 1 ano atrás

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

Responder
Anderson
Posts: 181
Registered
(@anderson)
Estimable Member
Entrou: 2 anos atrás

Acredito que o @EdsonBR saiba.

Vamos aguardar.

Responder
1 Responder
Jerffson
Registered
(@jerffson)
Entrou: 11 meses atrás

New Member
Posts: 3

@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.

Responder
EdsonBR
Posts: 867
Moderator
(@edsonbr)
Prominent Member
Entrou: 6 anos atrás
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

Responder