Stoppuhr ohne Start-Button?
#1
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
Top
#2
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
Top
#3
Wow....Ein richtig geiler Makro-Code!!

Vielen Dank!
Top
#4
Muss der Inhalt mit der Fehlerbehandlung  (am Ende) unbedingt in das Sub?

Was bewirkt das?
Top
#5
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)
Top
#6
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
Top
#7
Mit dieser Frage geht es jetzt hier https://www.clever-excel-forum.de/Thread...e-in-Zelle weiter.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste