Registriert seit: 05.12.2019
Version(en): 2016
Hallo!
Ist es möglich, dass man für Einträge in Zellen im Hintergrund die Zeit (für das Eintragen) stoppen kann und die benötigte Zeit dann ausgeben kann?
Als Beispiel:
Ich möchte in den Zellen A1:A10 Eintragungen machen. Am Anfang sind die 10 Zellen leer. Sobald ich in A1 oder auch in einer anderen Zelle (A1:A10) meine Eintragung starte, beginnt eine Stoppuhr (Zeitnahme) im Hintergrund zu laufen. Habe ich nun in allen 10 Zellen eine Eintragung gemacht, wird mir die benötigte Zeit in bsp. Zelle B1 angezeigt.
Ist so etwas ohne Makro möglich?
Wenn das nur mit Makro geht, wie könnte da dann der Makro-Code aussehen??
Danke
Registriert seit: 05.09.2019
Version(en): Office 365
Hallo
das geht nur mit Makro
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- dieses Makro einfügen
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:A10")
If Not Intersect(Target, RNG) Is Nothing Then
If WorksheetFunction.CountA(RNG) = 0 Then
Application.EnableEvents = False
Range("B1:C1").ClearContents
ElseIf WorksheetFunction.CountA(RNG) = 1 Then
Application.EnableEvents = False
Range("B1") = Format(Now, "hh:MM:ss")
Range("C1") = "Start"
ElseIf WorksheetFunction.CountA(RNG) = RNG.Count Then
Application.EnableEvents = False
Range("B1") = Format(Now - Range("B1"), "hh:MM:ss")
Range("C1") = "Dauer"
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
Die Zellen B1:C1 musst du freihalten
LG UweD
Registriert seit: 05.12.2019
Version(en): 2016
Wow....Ein richtig geiler Makro-Code!!
Vielen Dank!
Registriert seit: 05.12.2019
Version(en): 2016
Muss der Inhalt mit der Fehlerbehandlung (am Ende) unbedingt in das Sub?
Was bewirkt das?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
so ca 3 Gründe gibt es mindestens
- der User bekommt keine Meldung, ob er den Code debuggen will
- der user bekommt eine entsprechende Fehlermeldung
- Application.EnableEvents wird wieder auf True gesetzt, ansonsten laufen keine Event-Makros mehr
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 05.12.2019
Version(en): 2016
Noch eine Frage an Uwe:
Könnte man das Ganze auch so umbauen, dass keine Stoppuhr (Zeit) startet, sondern dass ein Timer (Beginnt bei 1 Minute) bei der ersten Eintragung in A1:A10 automatisch startet runter zu laufen?
Also man trägt etwas in der Zelle (A1:A10) ein und es wird der Timer (1 Minute) eingeblendet und beginnt "sichtbar" runter zu laufen. Bis zur Null!
Wenn die 0 erreicht ist, kommt eine Message "Die Zeit ist abgelaufen".
Klickt man die Message weg, wird der Timer (auf 1 Minute) zurückgesetzt und die Zellen A1:A10 geleert.
Danach würde der Timer wieder starten, wenn die erste Eintragung in A1:A10 erfolgt.
Vielen Dank
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)