VBA - End Sub in Case oder End if
#1
Ich benötige Hilfe bei VBA.

Ich möchte eine Abfrage machen wie zb.:
Code:
        'Eingaben überprüfen
        Select Case IsNumeric(TextBox14.Value)
            Case True
                MsgBox ("1")
            Case False
                MsgBox ("Die Eingabe der Bonusvereinbarung muss eine Zahl sein!")
                End Sub
        End Select

Wenn ich in Case False komme soll der Sub beendet werden - jedoch kann ich das End Sub nicht vor dem End Select schreiben.

Sofern Case False auftritt soll nachfolgender Code nach dem Select Case nicht ausgeführt werden.
Antworten Top
#2
Hallo,

Select Case für zwei Optionen ist schon ein wenig wie mit Kanonen auf Spatzen geschossen. Hier würde eine Wenn-Abfrage völlig reichen.

PS: Gerade erst gesehen, dass du eine TextBox auf numerische Inhalte prüfen willst, da stehen grundsätzlich nur Texte drin. Zeige doch mal deine Datei.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo,

statt End Sub an der Stelle kannst Du Exit Sub verwenden. Plus generell die Anmerkung von Klaus-Dieter.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#4
(09.12.2021, 10:53)Klaus-Dieter schrieb: Hallo,

Select Case für zwei Optionen ist schon ein wenig wie mit Kanonen auf Spatzen geschossen. Hier würde eine Wenn-Abfrage völlig reichen.

PS: Gerade erst gesehen, dass du eine TextBox auf numerische Inhalte prüfen willst, da stehen grundsätzlich nur Texte drin. Zeige doch mal deine Datei.

Hallo Klaus-Dieter, 

danke für deine schnelle Antwort.

Also die Abfrage an sich klappt. Wenn ich es als IF-Abfrage schreibe:
Code:
        If IsNumeric(TextBox14.Value) = True Then
            MsgBox ("Eingabe ist korrekt")
        Else
            MsgBox ("Bitte Eingabe überprüfen!")
                End Sub
        End If

Also die Abfrage passt. Ich möchte nur wenn der Wert in TextBox14 keine Zahl ist (sprich IsNumeric(Textbox14.Value) = False) dann soll nur die MsgBox angezeigt werden und NICHTS weiter in dem Sub ausgeführt werden.

LG

(09.12.2021, 10:53)maninweb schrieb: Hallo,

statt End Sub an der Stelle kannst Du Exit Sub verwenden. Plus generell die Anmerkung von Klaus-Dieter.

Gruß

Werde ich direkt mal testen

(09.12.2021, 10:53)maninweb schrieb: Hallo,

statt End Sub an der Stelle kannst Du Exit Sub verwenden. Plus generell die Anmerkung von Klaus-Dieter.

Gruß

Oh Wow - das war bereits des Rätsels Lösung!!

Danke dir und Klaus-Dieter! :)
Antworten Top
#5
gelöscht, hatte sich erledigt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


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