Das letzte Clever-Excel-Forum.de - Treffen
fand vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt.

Message Box - Befehl "Abbrechen"
#1
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!
to top
#2
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
[-] Folgende(r) 1 Benutzer sagt Danke an RPP63 für diesen Beitrag:
  • Chris-89
to top
#3
Hallo Ralf,

Dankesehr, hat prima funktioniert

LG Chris
to top
#4
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
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#5
Hallo André,

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

Gruß Uwe
to top
#6
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 :-) . 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 ;-)

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.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#7
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
to top
#8
Hallo André,

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

22

Gruß Uwe
to top


Gehe zu:


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