Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Nach Ablauf eines Timers Wert in Zelle

Betrifft: Nach Ablauf eines Timers Wert in Zelle von: Timo
Geschrieben am: 14.09.2020 16:01:17

Hallo zusammen,
für eine wissenschaftliche Untersuchung möchte ich eine Fotostrecke programmieren.
Dabei soll der Benutzer die Möglichkeit haben, innerhalb von 5 Sek einen CommandoButton1 zu drücken. Wenn dieser Button gedrückt wird soll in eine Zelle "J" geschrieben werden. Wird kein Button gedrückt und die Zeit läuft ab, so soll die Zelle mit "" (also leer) beschrieben werden. Leider funktioniert Zweiteres nicht. Wer Kann helfen?

Option Explicit

Private Declare Sub Sleep Lib "kernel32.dll" ( _
ByVal dwMilliseconds As Long)

Private mblnAbort As Boolean

Private Sub UserForm_Activate()

    Dim dtmEnd As Date
    dtmEnd = Now + TimeSerial(0, 0, 5)
    Do
        DoEvents
        Call Sleep(100) '100 Millisekunden Pause
    Loop Until Now > dtmEnd Or mblnAbort
    CommandButton1 = Not mblnAbort
    
    Sheets("Datenerhebung").Range("F7").Value = ""
    Unload Me
    UserForm_Fotostrecke1_2.Show
    
    
End Sub

Private Sub CommandButton1_Click()

    mblnAbort = True
    
    'Wahrheitspr?fung L?cheln
    Sheets("Datenerhebung").Range("F7").Value = "J"
    
    Unload Me
    UserForm_Fotostrecke1_2.Show
    
End Sub

Betrifft: AW: Nach Ablauf eines Timers Wert in Zelle
von: max.kaffl@gmx.de
Geschrieben am: 14.09.2020 16:18:10

Hallo Timo,

CommandButton1 = Not mblnAbort

Der CommandButton wird programmatisch ausgelöst wenn er nicht manuell ausgelöst wurde. Ist das richtig?

Gruß
Nepumuk

Betrifft: AW: Nach Ablauf eines Timers Wert in Zelle
von: Timo
Geschrieben am: 14.09.2020 16:35:33

Autsch, das ist der Fehler, vielen Dank!