Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

exit Ereigniss wie umgehen?

exit Ereigniss wie umgehen?
10.01.2021 19:44:41
Stefan
liebe Forumsmitglieder,
ich habe meine Fragestellung auf ein einfaches Formular (Name = Proteintest) gebracht .
Darin wird in der Textbox LN ( = die erste oben) ein Exitereigniss abgerufen das die Eingabe überprüft.
( = Zahlenwert zwischen 101 und 407)
Dann ist ganz unten im Formular ein Button zum Schließen (Name = CommandButton1) mit der Funktion unload Proteintest.
Wie kann ich den Button anwählen, ohne dass die Hinweismeldung "Bitte Wert zwischen 101 und 407 eingeben." kommt.
Denn sobald ich den cursor aus dem Textfeld LN nehme und auf den CommandButton1 clicke ,tritt das Exitereigniss
inKraft (Cancel = true) und schreibt eben die Meldung "Bitte Wert zwischen 101 und 407 eingeben."
Es soll aber das Formular auch ohne etwas einzugeben wieder geschlossen werden können,
ich habe keine Ahnung
vielen Dank
Stefan
https://www.herber.de/bbs/user/142901.xlsm
ps: entschuldigung dafür dass ich zur heute vormittag so ein mühsames file upgeloadet habe.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: exit Ereigniss wie umgehen?
10.01.2021 20:12:02
Nepumuk
Hallo Stefan,
1. Setze die TakeFocusOnClick-Eigenschaft des Buttons auf False.
2. Ändere deinen Code so:
Option Explicit

Private mblnClose As Boolean

Private Sub CommandButton1_Click()
    mblnClose = True
    Unload Me
End Sub

Private Sub LN_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With LN
        If Not IsNumeric(.Text) Then
            Cancel = True
        ElseIf CDbl(.Text) < 101 Or CDbl(.Text) > 407 Then
            Cancel = True
        End If
    End With
    If Cancel And Not mblnClose Then MsgBox "Bitte Wert zwischen 101 und 407 eingeben."
End Sub

Private Sub UserForm_Initialize()
    Proteintest.BackColor = RGB(200, 200, 200)
    Proteintest.LN.BackColor = vbYellow
End Sub

Gruß
Nepumuk
Anzeige
AW: exit Ereigniss wie umgehen?
10.01.2021 20:20:58
fcs
Hallo Stefan,
lasse zusätzlich zu, dass die Textbox leer sein darf.
Du musst nur an anderer Stelle, wo der Inhalt der Textbox verarbeitet wird, die Eingabe prüfen, dass diese Textbox einen nummerischen Wert enthält.
LG
Franz
Private Sub LN_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With LN
If .Text = "" Then
ElseIf Not IsNumeric(.Text) Then
Cancel = True
ElseIf CDbl(.Text)  407 Then
Cancel = True
Else
End If
End With
If Cancel Then MsgBox "Bitte Wert zwischen 101 und 407 eingeben."
End Sub

Google doch mal das Wort Ereignis, Stefan ...
11.01.2021 08:17:51
lupo1

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige