Notifications
Clear all

Células piscando

4 Posts
2 Usuários
0 Reactions
12.3 K Visualizações
 Eron
(@eron)
Posts: 103
Estimable Member Admin
Topic starter
 

Boa noite,

Por acaso alguem teria o codigo VBA para deixar uma célula 'piscando' ?

Explico:

Tenho dois valores, lado a lado, sendo que um não pode ser Zero se o outro for diferente de zero e vice-versa.

Preciso que a célula avise o usuário que falta valores.

 
Postado : 26/05/2010 8:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite.

Como não entendo fico só dando pitaco. Achei isso:

http://www.orkut.com.br/Main#CommMsgs?c ... 7523840636

http://www.orkut.com.br/Main#CommMsgs?c ... a+piscando

Pode ser que vc fazendo algumas modificações fique como vc precisa.

Abraços,

 
Postado : 27/05/2010 5:50 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso não consiga abrir orkut...

Vamos lá:
1ª parte:
a. Clique em uma aba de planilha com o botão direito
b. Selecione a opção Exibir Código
c. Coloque na "página em branco", a instrução a seguir:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
InicioDoPisca
End Sub

2ª parte:
a. Ainda no ambiente do VBA, clique em Inserir> Módulo
b. Coloque nesta outra "página em branco", a instrução baixo:

Option Explicit
Dim ProximoSegundo
Sub InicioDoPisca()
flashCell
End Sub

Sub FimDoPisca()
On Error Resume Next
Application.OnTime ProximoSegundo, "flashCell", , False
End Sub

Sub flashCell()
Dim célula As Range
ProximoSegundo = Now + TimeValue("00:00:01")
Application.OnTime ProximoSegundo, "flashCell"

If Range("A1") < 5 Then 'se A1 menor q 5 a celula B1 pisca
If Range("B1").Interior.ColorIndex = 36 Then
Range("B1").Interior.ColorIndex = 3
'Range("B1").Value = "Light blue"
ElseIf Range("B1").Interior.ColorIndex = 3 Then
Range("B1").Interior.ColorIndex = 36
'Range("B1").Value = "Light yellow"
End If
End If
End Sub

e ainda mais simples,

Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim Cor As Integer
If Range("A30") > 299 Then
For i = 1 To 3
For Cor = 3 To 4
Range("A30").Interior.ColorIndex = Cor
Sleep 1000
Next
Next
Range("A30").Interior.ColorIndex = 0
End If
End Sub

 
Postado : 16/06/2010 5:55 am
 Eron
(@eron)
Posts: 103
Estimable Member Admin
Topic starter
 

Tu é o CARA Nasario!

Assim mesmo, não da o peixe, ensina a pescar!

Muito Obrigado.

 
Postado : 28/06/2010 6:54 pm