Seite 1 von 1
msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 17:24
von Thorsten_Z
Moin Forum,
ich brauche mal wieder einen kleinen Anstoß. Wie frage ich bei einer Msgbox das "ok" bzw. "Abbrechen" Feld ab. Bei "ok" soll das Makro weiter laufen, und bei "Abbrechen" logischerweise die Prozedur beenden.
So hab ich es mir gedacht, aber es funktioniert nicht:
sub Loeschen()
Msgbox ("Wirklich Löschen?",1)
if msgbox = abbrechen then exit sub
else
... meine Prozedur...
end if
end sub
Wer kann mir eben auf die Sprünge helfen?
Danke und Gruß
Thorsten
Re: msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 17:39
von komma4
Thorsten_Z hat geschrieben:ich brauche mal wieder einen kleinen Anstoß.
F1 = Onlinehilfe, Basic:
MsgBox-Funktion [Laufzeit]
Onlinehilfe hat geschrieben:Rückgabewert:
1 : OK
2 : Abbrechen
3 : Abbruch
4 : Wiederholen
5 : Ignorieren
6 : Ja
7 : Nein
Re: msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 17:49
von Thorsten_Z
Hallo komma4,
danke für die schnelle Antwort. Aber nun gibt er mir nen Basik-Syntaxfehler "Else/EndIF ohne IF" raus.
Was ist da los?
sub Loeschen()
Msgbox ("Wirklich Löschen?",1)
if msgbox = 2 then exit sub
else
... meine Prozedur...
end if
end sub
Gruß
Thorsten
Re: msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 18:01
von lorbass
Onlinehilfe hat geschrieben:Beispiel:
Sub ExampleMsgBox
Dim sVar as Integer
sVar = MsgBox("Las Vegas")
sVar = MsgBox("Las Vegas",1)
sVar = MsgBox( "Las Vegas",256 + 16 + 2,"Titel im Dialog")
end sub
Gruß
lorbass
Re: msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 18:10
von Thorsten_Z
Hallo Lorbass,
die Onlinehilfe ist mir wohl bekannt, hilft mir aber nicht bei meinem Problem. Der Rückgabewert für Ok ist 1 und für Abbrechen 2. Soweit bin ich ja schon. Jetzt funzt aber die ganze Prozedur nicht mehr (s. Fehlermeldung).
für Hinweise in dieser Richtung wäre ich sehr dankbar
Gruß
Thorsten
Re: msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 18:17
von Thorsten_Z
Der Teufel scheint im Detail zu liegen, so funzt es
Code: Alles auswählen
sub Loeschen
IF Msgbox ("Wirklich Löschen?",1)= 2 then
exit sub
Else
msgbox(".. meine Prozedur...")
end if
end sub
Wer hätte gedacht, dass nach dem "then" ein absatz gehört.... Naja. Auf jedenfall Danke an die Helfer
Re: msgbox OK/ Abbrechen abfragen
Verfasst: So, 07.03.2010 18:59
von lorbass
Thorsten_Z hat geschrieben:Wer hätte gedacht, dass nach dem "then" ein absatz gehört.
Nein, das war nicht dein Fehler. Es ist einfach ein Unterschied, ob du - wie in deinen beiden ersten Beiträgen - falsch schreibst
oder - wie in deinem letzten Beitrag - richtig schreibst
Gruß
lorbass
Re: msgbox OK/ Abbrechen abfragen
Verfasst: Mo, 08.03.2010 13:38
von DPunch
lorbass hat geschrieben:Thorsten_Z hat geschrieben:Wer hätte gedacht, dass nach dem "then" ein absatz gehört.
Nein, das war nicht dein Fehler.
Doch, das ist ein Syntaxfehler
Schreibt man den "Dann"-Block in die gleiche Zeile wie die Bedingung, gilt der gesamte "If"-Block als abgeschlossen, ohne "End If".
a)
If 5=5 Then MsgBox "Richtig"
b)
If 5=5 Then
MsgBox "Richtig"
End If
Will man Variante a) mit einem "Else" kombinieren, führt das logischerweise zu einem Syntaxfehler, da der If-Block abgeschlossen ist und das "Else" zusammenhangslos im Code rumschwirrt.
Der Rest Deines Einwurfs ist natürlich trotzdem richtig
