Warun läuft dieses Makro nicht weiter?

Hallo zusammen,

könnte mir bitte jemand sagen, warum dieses Makro nicht weiterläuft?
Bei Druck auf JA sollte es weiterlaufen. Mein Fehler liegt vermutlich
bei der „If Meldung“ - Zeile. Ich kriegs aber nicht hin.

Sub Drucken_alles()
Dim N As Integer
Dim Blaetter As Variant
Dim Zellen As Variant
Dim Meldung As VbMsgBoxResult
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String

Text1 = "Haben Sie Überflüssiges ausgeblendet? "
Text2 = „JA --> Weiter“
Text3 = „NEIN --> Abbruch“

MsgBox Text1 & vbLf & vbLf & Text2 & vbLf & Text3, vbQuestion + vbYesNo

If Meldung vbNo Then

Exit Sub
End If

Blaetter = Array(„Blatt1“, „Blatt2“, …)
Zellen = Array(„I3“, „C11“, „C12“, …)
For N = 0 To UBound(Blaetter)
If Sheets(„Blatt1“).Range(Zellen(N)) „“ Then
Worksheets(Blaetter(N)).PrintOut
End If
Next N
End Sub

Gruß und danke

Rolf

Bei Druck auf JA sollte es weiterlaufen. Mein Fehler liegt
vermutlich
bei der „If Meldung“ - Zeile. Ich kriegs aber nicht hin.

wenn dem so ist, warum machst du dann sowas hier:

If Meldung vbNo Then
Exit Sub
End If

Du lässt ihn ja nur weitermachen, wenn Nein geklickt wird…
*schulterzuck*

… Du hast ja Recht, es hätte vbYes heissen müssen,
aber ob ich auf Ja oder NEIN klicke, es tut sich nichts.
Die Msg-Box verschwindet, und das war’s.

Noch eine Idee?

Gruß

Rolf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ähmja…
im Zweifelsfall liegts daran, dass die Variable „Meldung“ garnicht von der Rückgabe belegt wird…

ausserdem einfach mal debuggen…

msgbox "Rückgabewert: " + Meldung

Hallo zusammen,

Hi,
warum machst du es nicht so:
If MsgBox (Text1 & vbLf & vbLf & Text2 & vbLf & Text3,

vbQuestion + vbYesNo) vbYes then

MsgBox Text1 & vbLf & vbLf & Text2 & vbLf & Text3,
vbQuestion + vbYesNo

If Meldung vbNo Then

Gruß. Timo

Hallo Munichfreak,

ausserdem einfach mal debuggen…

hab’ ich bis zur Bewußtlosigkeit :wink:, hilft mir aber nicht weiter.

msgbox "Rückgabewert: " + Meldung

versteh’ ich nicht - sorry, aber danke für den Versuch.

Gruß

Rolf

Hi Timo,

Treffer, versenkt. Jetzt läuft es.
Herzlichen Dank und allen schöne Feiertage.

Gruß

Rolf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rolf

Ich habe das so gelöst und es funktioniert tadellos, musst es nur anpassen.

Sicherheitsabfrage zu Beginn eines Makros, stand so schon einmal in diesem Forum.

folgende Zeile zu Beginn des Makros einbauen:
if msgbox(„Sind Sie sicher?“,vbQuestion+vbYesNo,„Makro ausführen“) = vbNo then exit sub
Die beiden Texte („Sind Sie sicher?“ und „Makro ausführen“) kann man natürlich nach Belieben ändern.

Wolfgang

msgbox "Rückgabewert: " + Meldung

versteh’ ich nicht - sorry, aber danke für den Versuch.

Hi Rolf,
so wie ich vermisst Munich eine Zuweisung an „Meldung“, so z.B.

Meldung=MsgBox(…)

hättest du die Codezeile von Munich ausprobiert wäre dir aufgefallen, dass immer „Rückgabewert: 0“ angezeigt, völlig egal was du in der anderen Msgbox anklickst.
Und das sieht man auch bei F8 bzw. mittels Haltepunkt im Debugger wenn der Cursor über „Meldung“ steht.
Gruß
Reinhard

Hi Wolfgang,

das ist auch nicht schlecht. Hab ich mit gut weggelegt
für die nächste Msg-Box :smile:

Gruß und danke

Rolf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]