Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

msg box und makro beenden - aber wie?

msg box und makro beenden - aber wie?
18.08.2016 13:00:59
Eric
Liebe Forumsmitlieder,
ich stelle mich gerade ein bisschen dusslig an. Ich möchte folgendes:
Hier erstmal der Code bisher:
If vollsum = AuflGesB
Then MsgBox ("Prüfung Case b)erfolgreich. Dokument kann nun an Herstellung gesendendet werden"), Range("A1").Value = 1
Else MsgBox ("Steckmenge Case b) entspricht nicht der Gesamtauflage")
Jetzt soll im Else Block zusätzlich zu der msgbox das komplette Makro beendet werden. Aber auch nur wenn der Else Block zutrifft.
Kann mir da jemand hier den zündenden Tipp geben?
Besten Dank und Grüße,
Eric

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: msg box und makro beenden - aber wie?
18.08.2016 13:11:27
Daniel
Hi
bei aufwendigeren IF-Then sollte man nach dem Then und dem Else eine neue Zeile beginnen, dann kann man auch in jedem Block mehrere Befehle ausführen lassen:
If vollsum = AuflGesB Then
MsgBox ("Prüfung Case b)erfolgreich. Dokument kann nun an Herstellung gesendendet werden")
Range("A1").Value = 1
Else
MsgBox ("Steckmenge Case b) entspricht nicht der Gesamtauflage")
Exit Sub
End if
"Exit Sub" beendet das Makro.
Sollte das Makro aber von einem übergeordneten Makro aufgerufen worden sein, so wird dieses dann weiter ausgeführt, so wie wenn der Code normal bis zum End Sub durchgelaufen wäre.
Gruß Daniel
Anzeige
AW: msg box und makro beenden - aber wie?
18.08.2016 14:20:32
Eric
Hallo Daniel,
vielen Dank für die Antwort. Nachdem ich nun meine Code umgestellt habe und das exit sub eingefügt habe, habe ich nun das Problem, dass beim Kompilieren die Meldung "Case ohne Select Case" erscheint. Hier der vollständige Code:
Sub PrüfenSteckung()
Dim Steckart As Range
Dim vollsum
Set Steckart = Range("D27")
Set AuflGesA = Range("D21")
Set AuflGesB = Range("M21")
Set AuflGesC = Range("O21")
Select Case Steckart
Case "Vollsteckung"
vollsum = WorksheetFunction.Sum(Range("E38:E88"), Range("M38:M88"), Range("U38:U88"))
If vollsum = AuflGesA Then
MsgBox ("Prüfung Case a) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steckmenge Case a) entspricht nicht der Gesamtauflage")
vollsum = WorksheetFunction.Sum(Range("G36:G58"), Range("O36:O58"), Range("W36:W58"))
If vollsum = AuflGesB Then
MsgBox ("Prüfung Case b)erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steckmenge Case b) entspricht nicht der Gesamtauflage")
vollsum = WorksheetFunction.Sum(Range("I36:I58"), Range("Q36:Q58"), Range("Y36:Y58"))
If vollsum = AuflGesC Then
MsgBox ("Prüfung Case c)erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steckmenge Case c) entspricht nicht der Gesamtauflage")
Case "Teilsteckung"
vollRampSum = WorksheetFunction.Sum(Range("E38:E88"), Range("M38:M88"), Range("U38:U88") _
, Range("D29"))
If vollRampSum = AuflGesA Then
MsgBox ("Prüfung Case a) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steck- und Rampenmenge Case a) entsprechen nicht der Gesamtauflage")
vollRampSum = WorksheetFunction.Sum(Range("G36:G58"), Range("O36:OQ58"), Range("W36:W58" _
), Range("D29"))
If vollRampSum = AuflGesB Then
MsgBox ("Prüfung Case b) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steck- und Rampenmenge Case b) entsprechen nicht der Gesamtauflage")
vollRampSum = WorksheetFunction.Sum(Range("I36:I58"), Range("Q36:Q58"), Range("Y36:Y58") _
, Range("D29"))
If vollRampSum = AuflGesC Then
MsgBox ("Prüfung Case c) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steck- und Rampenmenge Case c) entsprechen nicht der Gesamtauflage")
Case "Nein"
vollRampSum = Range("D29")
If vollRampSum = AuflGesA Then
MsgBox ("Prüfung Case a) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steck- und Rampenmenge Case a) entsprechen nicht der Gesamtauflage")
vollRampSum = Range("M29")
If vollRampSum = AuflGesB Then
MsgBox ("Prüfung Case b) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steck- und Rampenmenge Case b) entsprechen nicht der Gesamtauflage")
vollRampSum = Range("O29")
If vollRampSum = AuflGesC Then
MsgBox ("Prüfung Case c) erfolgreich. Dokument kann nun an Herstellung gesendendet  _
werden"), Range("A1").Value = 1
Else
MsgBox ("Steck- und Rampenmenge Case c) entsprechen nicht der Gesamtauflage")
End Select
End Sub
Mit meiner alten Struktur gab es die Fehlermeldung nicht.
Irgendeine Idee was hier nicht stimmt?
Grüße,
Eric
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige