Clever-Excel-Forum

Normale Version: Message Box - Befehl "Abbrechen"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Liebe Leute,

schon wieder ein Thema das mir Kopfzerbrechen beschert.
Ich will bei einer MessageBox 2 Buttons: vbOK und vbCancel
Momentan hab ich nur vbOK in meiner Messagebox stehen.

Ich will dass bei einem Klick auf OK der Code ausgeführt wird und bei einem Klick auf Abbrechen der Code nicht weiterarbeitet.
Lässt sich das irgendwie lösen?

Hier der Code für die MsgBox:
Code:
Sub machwas()
 Dim strText As String
   strText = " Wählen Sie den Speicherpfad auf Ihrem Rechner aus"
   MsgBox "INFO: " & strText, 64, "meine Ausgabe"
End Sub
mfg und Danke im Voraus
Chris!
Hallo!
Als Beispiel:
Code:
Sub machwas()
Dim strText As String
  strText = " Wählen Sie den Speicherpfad auf Ihrem Rechner aus"
  If MsgBox("INFO: " & strText, vbYesNo + vbInformation, "meine Ausgabe") = vbYes Then MsgBox "Dein Code"
End Sub

Gruß Ralf
Hallo Ralf,

Dankesehr, hat prima funktioniert

LG Chris
Hallo Chris,

die andere Variante wäre

Code:
Sub machwas()
Dim strText As String
  strText = " Wählen Sie den Speicherpfad auf Ihrem Rechner aus"
  If MsgBox("INFO: " & strText, vbYesNo + vbInformation, "meine Ausgabe") = vbNo Then Exit Sub
  '...Dein code
End Sub
Hallo André,

was ist an der Exit-Sub-Variante so viel besser, dass Du sie extra vorstellst? Wink
Wenn man Exit Sub vermeiden kann, sollte man das tun. Genauso wie GoTo.

Gruß Uwe
Hallo Uwe,

wieso sollte man Exit Sub vermeiden? Pauschal würde ich keine der beiden Varianten hervorheben, das kommt aus meiner Sicht immer auf den Einzelfall an. Durch das Exit Sub wird der code m.E. oft zumindest etwas übersichtlicher. Es ist so ab und an einfacher, als irgendwo im code nach dem passenden End If zu suchen, zuweilen vergisst man es ja auch beim programmieren und wird dann erst durch eine entsprechende Fehlermeldung darauf hingewiesen ... "Dein Code" passt ja meist nicht in die eine Zeile und oft hat man mehr als ein If und diese dann noch verschachtelt und verdreht Smile . Wenn ich mit Einrückungen arbeite, habe ich dadurch eventuell auch ein paar weniger und reize dadurch vielleicht ein paar Zeichenstellen aus, die mir bei einer Codedokumentation auf der rechten Seite fehlen Wink

Technisch gesehen wüsste ich jetzt keine Nachteile von Exit Sub. Ob Ich nun unmittelbar vor meinem End Sub das zugehörige End If habe oder gleich mit Exit Sub rausgehe, kommt meines Wissens auf dasselbe raus.
Hallo!
Ich benutze If ... End If nur dann, wenn ich mehrere Anweisungen im Then oder Else-Teil habe.
(Auch wenn Then Anweisung1: Anweisung2: Anweisung3 möglich wäre)
Ansonsten immer den Einzeiler If ... Then ... (Else)
Wenn mir die Zeile zu lang wird, füge ich Zeilenumbrüche per _ ein.
Begründung lt. Haserodt: Geschwindigkeit.

Gruß Ralf
Hallo André,

(01.05.2015, 09:26)schauan schrieb: [ -> ]Technisch gesehen wüsste ich jetzt keine Nachteile von Exit Sub...

:22:

Gruß Uwe