Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antwortento 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
Antwortento top
#3
Wow....Ein richtig geiler Makro-Code!!

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

Was bewirkt das?
Antwortento 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-2016)
Antwortento 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
Antwortento 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)
Antwortento top


Gehe zu:


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