15.09.2020, 11:05
Hallo!
Ich habe folgendes Problem:
Ich möchte eine Eingabe in A1 machen und nach dem Betätigen der Enter-Taste soll der Timer (hier 1 Minute) starten. Die Startzeit soll in B1 ausgegeben werden und beginnt dann in Sekundenschritten runter zu laufen.
Über dieses Forum wurde mir ein entsprechendes Makro für das automatische Starten zur Verfügung gestellt.
Hier das Makro:
Code:
Das Makro nexttick lautet wie folgt:
Option Explicit
Dim NextInst As Date
Const TimeDiff="00:00:01"
Sub nexttick ()
On Error GoTo Fehler
Sheets (1).Range("B1").Value=Sheets (1).Range ("B1").Value-TimeValue (TimeDiff)
NextInst=Now+TimeValue (TimeDiff)
Application.OnTime NextInst, "nexttick"
Fehler:
If Err.Number <>0 Then
MsgBox "Zeit abgelaufen"
Range("B1").Value="00:01:00"
Range ("A1").Value=""
End If
End Sub
Nun tritt nei mir jedoch folgendes Problem auf:
Ich mache eine Eintragung in A1. Der Timer (00:01:00) wird in B1 eingeblendet und beginnt in Sekundenschritten nach unten zu laufen.
Soweit so gut.
Mache ich jedoch eine weitere Eingabe (z.B. in A2) wird für die Zeit der Eingabe, die Zeit (Timer) angehalten.
Erst, wenn ich meine Eingabe mit der Enter-Taste beende, läuft die Zeit wieder weiter.
Was muss anders gemacht werden, damit die Zeit (Timer), unabhängig von meinen Eingaben, weiter Richtung 0 läuft?
Ich möchte letztendlich herausfinden, wie viele Eingaben in den Zellen (außer A1 -> ist ja meine 1. Eingabezelle) gemacht werden können.
Wenn die Zeit abgelaufen ist, wird ja die Message: "Zeit abgelaufen" eingeblendet. Dann sind keine weiteren Eingaben mehr möglich.
Ich hoffe, mir kann Jemand weiterhelfen.
Danke
Ich habe folgendes Problem:
Ich möchte eine Eingabe in A1 machen und nach dem Betätigen der Enter-Taste soll der Timer (hier 1 Minute) starten. Die Startzeit soll in B1 ausgegeben werden und beginnt dann in Sekundenschritten runter zu laufen.
Über dieses Forum wurde mir ein entsprechendes Makro für das automatische Starten zur Verfügung gestellt.
Hier das Makro:
Code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Dim RNG As Range
Set RNG = Range("A1")
If Not Intersect(Target, RNG) Is Nothing Then
If WorksheetFunction.CountA(RNG) = 0 Then
Application.EnableEvents = False
Range("B1").ClearContents
ElseIf WorksheetFunction.CountA(RNG) = 1 Then
Application.EnableEvents = False
Range("B1") = "00:01:00"
Call nexttick
End If
End If
'*** Fehlerbehandlung
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Das Makro nexttick lautet wie folgt:
Option Explicit
Dim NextInst As Date
Const TimeDiff="00:00:01"
Sub nexttick ()
On Error GoTo Fehler
Sheets (1).Range("B1").Value=Sheets (1).Range ("B1").Value-TimeValue (TimeDiff)
NextInst=Now+TimeValue (TimeDiff)
Application.OnTime NextInst, "nexttick"
Fehler:
If Err.Number <>0 Then
MsgBox "Zeit abgelaufen"
Range("B1").Value="00:01:00"
Range ("A1").Value=""
End If
End Sub
Nun tritt nei mir jedoch folgendes Problem auf:
Ich mache eine Eintragung in A1. Der Timer (00:01:00) wird in B1 eingeblendet und beginnt in Sekundenschritten nach unten zu laufen.
Soweit so gut.
Mache ich jedoch eine weitere Eingabe (z.B. in A2) wird für die Zeit der Eingabe, die Zeit (Timer) angehalten.
Erst, wenn ich meine Eingabe mit der Enter-Taste beende, läuft die Zeit wieder weiter.
Was muss anders gemacht werden, damit die Zeit (Timer), unabhängig von meinen Eingaben, weiter Richtung 0 läuft?
Ich möchte letztendlich herausfinden, wie viele Eingaben in den Zellen (außer A1 -> ist ja meine 1. Eingabezelle) gemacht werden können.
Wenn die Zeit abgelaufen ist, wird ja die Message: "Zeit abgelaufen" eingeblendet. Dann sind keine weiteren Eingaben mehr möglich.
Ich hoffe, mir kann Jemand weiterhelfen.
Danke