Moderatori: Anthony47, Flash30005
Sub avvia()
Foglio1.Range("F1") = 1
Call aggiorna
End Sub
Sub aggiorna()
Calculate
If Foglio1.Range("F1") = 1 Then
adesso = Now
Application.OnTime Now + TimeValue("00:00:01"), "aggiorna" 'impostato su 1 secondo
UR = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To UR
diff = Range("A" & i) - adesso ' modificare se le date di confronto non sono in colonna A
If diff < 0 Then
If Range("I" & i) = "terminato" Then GoTo pross
Range("H" & i).Clear
Range("I" & i) = "terminato"
MsgBox ("conteggio numero: " & i - 1 & " terminato")
Else: Range("I" & i) = "in corso"
Range("H" & i) = diff
Range("H" & i).NumberFormat = "hh:mm;@"
End If
pross:
Next i
End If
End Sub
Sub ferma()
Foglio1.Range("F1") = 0
End Sub
Sub avvia()
If CLng(Foglio1.Range("F1")) = 0 Then
Foglio1.Range("F1") = Now
Call Aggiorna
Else
' Foglio1.Range("F1").ClearContents
End If
End Sub
Private Sub Aggiorna()
Dim cellaT As String, OneS As Double
'
'Debug.Print Timer
If CLng(Foglio1.Range("F1")) <> 0 Then
cellaT = "H"
OneS = TimeSerial(0, 0, 1)
Application.OnTime Now + TimeValue("00:00:01"), "aggiorna" 'impostato su 1 secondo
For i = 2 To Foglio1.Cells(Rows.Count, cellaT).End(xlUp).Row
If Foglio1.Cells(i, cellaT).Value > 0 And CLng(Foglio1.Range("F1")) <> 0 Then
Foglio1.Cells(i, cellaT).Value = Foglio1.Cells(i, cellaT).Value - OneS
If Foglio1.Cells(i, cellaT).Value <= 0 Then
Foglio1.Cells(i, cellaT).Value = 0
End If
End If
Next i
End If
End Sub
Sub ferma()
Foglio1.Range("F1").ClearContents
End Sub
=SE(H2>0;SE($F$1<>"";"In Corso";"SOSPESO");"TERMINATO")
Torna a Applicazioni Office Windows
Macro sposta riga se data in colonna più vecchia di 3 mesi Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 23 |
gestire e togliere oggetti in colonna con condizione Autore: raimea |
Forum: Applicazioni Office Windows Risposte: 2 |
Excel Estrazione casuale testo da colonna per bingo ca**ate Autore: Dylan666 |
Forum: Applicazioni Office Windows Risposte: 7 |
Visitano il forum: Nessuno e 13 ospiti