Ciao Danilo,
Potresti spiegare questa esigenza in modo piu dettagliato in quanto non mi risulta chiara?
In attesa della tua risposta, e ipotizzando che la tua intenzione sia di avere due pulsanti per consentire di avviare il lampeggio delle celle di interesse e di terminarlo, prova qualcosa del genere:
- Alt+F11 per aprire l'editor di VBA
- Alt+IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'=========>>
Option Explicit
Public Rng As Range
Public RunWhen As Double
Public Const cRunIntervalSeconds = 1
Public Const cRunWhat = "Blink"
Public myColor As Long
'--------->>
Public Sub Blink()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng2 As Range, rCell As Range
Dim appTime As Double
Dim LRow As Long
Const mioFoglio As String = "Foglio1" '<<=== Modifica
Const sStr As String = "Scaduta"
Set WB = ThisWorkbook
Set SH = WB.Sheets(mioFoglio)
With SH
LRow = LastRow(SH, .Columns("D:D"))
Set Rng = .Range("D2:D" & LRow)
End With
Rng.Font.ColorIndex = 1
On Error Resume Next
Set Rng2 = Rng.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not Rng2 Is Nothing Then
For Each rCell In Rng.Cells
With rCell
If .Value = sStr Then
.Font.ColorIndex = myColor
End If
End With
Next rCell
End If
Call StartIt
End Sub
'--------->>
Public Sub StartIt()
On Error Resume Next
Application.OnTime EarliestTime:=RunWhen, _
Procedure:=cRunWhat, _
Schedule:=False
myColor = IIf(myColor = 1, 3, 1)
RunWhen = Now + TimeSerial(0, 0, 1)
Application.OnTime EarliestTime:=RunWhen, _
Procedure:=cRunWhat, _
Schedule:=True
End Sub
'--------->>
Public Sub StopIt()
On Error Resume Next
Rng.Font.ColorIndex = 1
On Error Resume Next
Application.OnTime EarliestTime:=RunWhen, _
Procedure:=cRunWhat, _
Schedule:=False
End Sub
'--------->>
Public Function LastRow(SH As Worksheet, _
Optional Rng As Range)
If Rng Is Nothing Then
Set Rng = SH.Cells
End If
On Error Resume Next
LastRow = Rng.Find(What:="*", _
after:=Rng.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function
'<<=========
Alt+Q per chiudere l'editor di VBA e tornare a Excel.
Sul foglio di interesse, inserisci due pulsanti dagli Controlli Modulo
- Fai clic dx sul primo pulsante | Assegna Macro |
StartIt | OK

- In modo analogo, fai clic dx sul secondo pulsante | Assegna Macro | StopIt| OK
- Salva il file con l'estensione xlsm
Per avviare il lampeggio delle celle di interesse, premi il primo pulsante; per terminarlo, premi il secindo pulsante.
Potresti scaricare il mio file di prova Danilo20151207.xlsm a:
**http://1drv.ms/1TQU4E1**
A proposito, vorrei aggiungere che io non sono un grande appassionato dell'uso delle celle lampeggianti che, tra l'altro, credo sia contro la legge in certe stati degli Stati Uniti e altrove, In questo caso, la mia preferenza personale sarebbe di utilizzare
la formatazione condizionale, eventualmente applicandola e cancellandola mediante i due pulsanti.
In conclusione. ti chiederei anche di gentimente rispondere alla mia risposta al tuo thread precedente.
===
Regards,
Norman