Microsoft Excel

Herbers Excel/VBA-Archiv

Eingabe während Stopuhr läuft

Betrifft: Eingabe während Stopuhr läuft von: Silberkuhl
Geschrieben am: 22.09.2020 16:40:14

Hallo Forum,

folgendes Problem:

Ich habe in VBA eine Stopuhr mit "Start", "Pause" und "Reset" programmiert. Diese funktioniert soweit.
Mein Problem ist, dass ich während die Stopuhr läuft, keine anderen Eingaben machen kann.

Mein aktueller Code:
*****************************************************************************************************
Dim dteStart As Date, dteFinish As Date
Dim dteStopped As Date, dteElapsed As Date
Dim boolStopPressed As Boolean, boolResetPressed As Boolean

Sub Start_timer()

Start_timer:
dteStart = Time
boolStopPressed = False
boolResetPressed = False
Timer_Loop:
DoEvents
dteFinish = Time
dteElapsed = dteFinish - dteStart + dteStopped
If Not boolStopPressed = True Then
Sheets("Andon").Cells(3, "P") = dteElapsed
If boolResetPressed = True Then GoTo Start_timer
GoTo Timer_Loop
Else
Exit Sub
End If
End Sub
*****************************************************************************************************

Sub Stop_timer()

boolStopPressed = True
dteStopped = dteElapsed

End Sub
*****************************************************************************************************

Sub Reset_timer()

dteStopped = 0
dteStart = 0
dteElapsed = 0
Sheets("Andon").Cells(3, "P") = "00:00:00"
boolResetPressed = True

End Sub
*****************************************************************************************************
Folgender Code sollte parallel abgearbeitet werden:
*****************************************************************************************************

Private Sub Workbook_Open()

Application.OnKey "a", "Zaehler"
Application.OnKey "s", "StopStart"
    
End Sub

*****************************************************************************************************
Wie gesagt, wenn der Timer nicht läuft funktionieren die Subs "Zaehler" und "StopStart".

Kann mir jemand weiterhelfen?

Beste Grüße
Martin

Betrifft: AW: Eingabe während Stopuhr läuft
von: Hajo_Zi
Geschrieben am: 22.09.2020 17:08:57

Hallo Martin,

scxhaue hier
http://hajo-excel.de/vba_stoppuhr.htm

Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link

GrußformelHomepage

Betrifft: AW: Eingabe während Stopuhr läuft
von: Martin Silberkuhl
Geschrieben am: 23.09.2020 10:05:04

Hallo Hajo,

vielen Dank für Deine Rückmeldung. Deine Seite hatte ich auch schon gefunden und habe mir das Beispiel Stoppuhr 6 runtergeladen. Auch damit funktioniert zwar die Stoppuhr an sich aber nicht die parallele Eingabe.
Probiere ich deine Datei, kann ich während dem Lauf in irgendwelche Zellen Eingaben vornehmen. In meiner Datei frage ich aber die Tastatur ab, ob ein "a" oder ein "s" gedrückt wird und reagiere darauf. Das funktioniert aber leider nicht.

Ich lade mal meine Datei hoch, in der jetzt beide Varianten der Stoppuhr implementiert sind, Deine und meine. Beide funktionieren.

https://www.herber.de/bbs/user/140376.xlsm

Bei nicht laufender Uhr drücke bitte mal die "a"- oder die "s"-Taste ("a"=hochzählen, "s" 1. mal gedrückt "STOP", 2. mal gedrück "Stop" wird gelöscht). Übrigens die "a"- und die "s"-Tasten werden dann ersetzt durch Taster, die Excel über eine Tastatur-Hardware steuern.

Beste Grüße
Martin

Betrifft: AW: Eingabe während Stopuhr läuft
von: Martin Silberkuhl
Geschrieben am: 23.09.2020 10:25:55

Hallo zusammen,

habe die Lösung gefunden. Ich nehme die Stoppuhr von Hajo und ergänze den Code. In meinem Fall war wichtig, dass ich nach dem Drücken eines Buttons, den Fokus wieder auf eine Zelle lege:

ThisWorkbook.Worksheets("Andon").Cells(1, 1).Select

Damit funktioniert die Stoppuhr und das Auswerten einer Tastatureingabe parallel.

Beste Grüße
Martin

Beiträge aus dem Excel-Forum zum Thema "Eingabe während Stopuhr läuft"