Buongiorno, ho un problema che non riesco a risolvere;
Ho creato un foglio Excel che acquisisce dati da un gestionale (nomi, orari e altro); nella cella "A1" del primo foglio viene replicato l'orologio tramite una macro con l'utilizzo di un temporizzatore. Su un secondo foglio ho una colonna dove vengono inseriti degli orari e tramite un confronto con l'orario in tempo reale e l'utilizzo di un'altra macro viene riprodotto un file audio (semplificando, è praticamente una sveglia con più suonerie impostate).
Ora il mio problema è che fino a 2 mesi fa funzionava tutto regolarmente ma adesso la macro che gestisce l'orologio va in blocco e aggiorna l'orario ogni 15/20 secondi; questo è un problema perché per far riprodurre il file audio il confronto deve essere fatto al secondo preciso. Ho provato varie macro per la gestione dell'orologio ma fondamentalmente tutte lavorano con il codice "Application.OnTime Now + TimeValue("00:00:01")" .
Non riesco a capire cosa sia cambiato, se qualche aggiornamento Microsoft o altro che manda in blocco la sincronizzazione (se può essere d'aiuto attualmente utilizzo Windows 11 e office 2024, ho provato su diversi PC ma il problema rimane).
Questo è il codice che utilizzo per l'orologio; il controllo per far partire il messaggio audio lo faccio con la funzione CONTA.SE dove confronto l'orario in tempo reale con la colonna degli orari da me impostati, se rileva lo stesso orario mi restituisce il valore "1" e fa partire la macro per riprodurre l'audio.
Private Sub Workbook_Open()
Dim answer As Integer
answer = MsgBox("Vuoi sincronizzare l'orario?", vbQuestion + vbYesNo + vbDefaultButton2, "Start Orologio")
If answer = vbYes Then
Call DefinisciblnClockRunningTrue
Else
Call DefinisciblnClockRunningFalse
End If
End Sub
Public blnClockRunning As Boolean
Sub AvviaFermaOrologio()
Application.ScreenUpdating = False
If blnClockRunning = False Then
blnClockRunning = True
AggiornaOrologio
Else
blnClockRunning = False
AggiornaOrologio
End If
End Sub
Sub AggiornaOrologio()
If blnClockRunning = True Then
Range("A1").Select
ActiveCell.FormulaR1C1 = "=NOW()"
ThisWorkbook.Worksheets("QGC").Cells(1, 1).Value = Format(Now, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "AggiornaOrologio"
Else
ThisWorkbook.Worksheets("QGC").Cells(1, 1).Value = "00:00:00"
End If
End Sub
Sub DefinisciblnClockRunningFalse()
blnClockRunning = False
AggiornaOrologio
End Sub
Sub DefinisciblnClockRunningTrue()
blnClockRunning = True
AggiornaOrologio
End Sub
Qualcuno sa risolvere il problema (se si può risolvere) o suggerirmi un approccio diverso per riprodurre un file audio ad un determinato orario?
Grazie.