Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Suche nach bestimmten Kriterien abbrechen wirsing 19 239 03.12.2016, 21:18
Letzter Beitrag: schauan
  Zellen Summe verstecken (VBA Makro Befehl ) Kj91 15 187 18.11.2016, 13:30
Letzter Beitrag: Kj91
  Abbrechen Button mit VBA abfragen Heinz Ulm 2 74 17.11.2016, 09:35
Letzter Beitrag: Heinz Ulm
  VBA Makro Befehl Range Kubababa 2 99 27.10.2016, 19:32
Letzter Beitrag: Gast 123
  VBA Message Box DavidHans 2 109 12.08.2016, 11:59
Letzter Beitrag: DavidHans
  InputBox Schaltfläche Abbrechen herbert0803 7 399 04.08.2016, 22:47
Letzter Beitrag: Gast 123
  VBA Message Box Doppelklick DavidHans 2 228 26.07.2016, 08:04
Letzter Beitrag: DavidHans
  Vor Paste-Befehl Bereich löschen lapunta 13 500 28.06.2016, 18:25
Letzter Beitrag: RPP63
  Kann ich den Inhalt einer Zelle in einen Befehl integrieren? sp-projekt 2 584 12.09.2015, 16:07
Letzter Beitrag: sp-projekt
  Allgemeiner Befehl: Bezug auf Zelle in selber Zeile aber 1/2/3 Spalten vorher sp-projekt 4 583 12.09.2015, 14:20
Letzter Beitrag: sp-projekt

Gehe zu:


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