Notifications
Clear all

Piscar tela

8 Posts
2 Usuários
0 Reactions
1,643 Visualizações
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Boa noite
Peguei essa macro "emprestada" na net :lol: e seria interessante se pudesse adaptar para que o disparo ocorresse mediante um valor em determinada célula.
Grato

 
Postado : 09/05/2013 8:12 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite
Peguei essa macro "emprestada" na net :lol: e seria interessante se pudesse adaptar para que o disparo ocorresse mediante um valor em determinada célula.
Grato

Não sei qual a finalidade, mas isto é bem simples uma vez que já temos a rotina para piscar a tela - "Sub Piscar_Tela()", então é só colocar no Evento Change da aba a chamada para o código :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$G$2" Then
    
        Call Piscar_Tela
    
    End If
    
End Sub

[[]s

 
Postado : 09/05/2013 8:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

MEEEEEU, MUITO LOCA ESSA PISCADA DE TELA !!

 
Postado : 09/05/2013 9:20 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Pensei em usar a macro para alertar, quando um valor "x" ocorrer dentro da célula. Fiz a alteração mas a macro só dispara digitando um valor e enter. Pensei fazer tipo assim:
A célula G2, é um contador, quando atingir 50, a macro dispara,Tem como fazer?

 
Postado : 09/05/2013 9:24 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sem dar o <ENTER> ? não tem como...
o VBA só vai rodar quando o evento _Change for disparado. Enquanto você não "sair" da célula, o evento não é disparado.
E digo mais, infelizmente no VBA nao existe o evento keystroke, ou keydown, ou outros, que capta o que você está digitando , enquanto essa digitação estiver ocorrendo numa célula.

Eventos como esse existem em caixas de texto do ActiveX, que são programáveis . . .

 
Postado : 09/05/2013 9:40 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Ok, :roll:

 
Postado : 09/05/2013 10:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pensei em usar a macro para alertar, quando um valor "x" ocorrer dentro da célula. Fiz a alteração mas a macro só dispara digitando um valor e enter. Pensei fazer tipo assim:
A célula G2, é um contador, quando atingir 50, a macro dispara,Tem como fazer?

O colega Fernando tem razão quanto as observações, mas quando você diz :"A célula G2, é um contador, quando atingir 50, a macro dispara", como a mesma é alimentada ? Atravez de alguma formula que soma + 1 a um determinado valor digitado em outra celula ?
Dependendo de como está sendo desenvolvido o seu projeto você pode utilizar da seguinte maneira :

    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim sValor
        
        sValor = [G2]
        
        If sValor = 50 Then
        
            Call Piscar_Tela
            
        End If
       
    End Sub

Ou, supondo que a pessoa terá de selecionar a aba para digitar, então utizando no evento "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" , a rotina irá disparar sem precisar dar o Enter, sempre que selecionar qualquer celula e fazer a verificação .

[]s

 
Postado : 10/05/2013 6:25 am
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Bom dia
Mauro, teu ultimo post resolveu o problema, quando a contagem chega a "x", tela piscando :lol: .
Grato

 
Postado : 11/05/2013 5:59 am