Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
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

mit gecallter Sub kompl. Sub beenden

mit gecallter Sub kompl. Sub beenden
24.04.2020 10:40:11
Ivan
Servus zusammen,
folgendes Problem quält mich.
Ich rufe aus einer übergeordneten Sub, die an einem Knopf angebunden ist, mehrere kleine Subs auf.
Sub aufruf()
Call AutomatischesEinfuellendesNamens
Application.ScreenUpdating = False
Call SchleifeOrdnerDokumente("NeuesRelease")
Call texte_einfügen
Application.ScreenUpdating = True
MsgBox ("Die Dokumentation wurde erfolgreich angelegt")
End Sub
Dabei wird in der fettgedruckten Sub, diese abgebrochen, wenn man in eine Inputbox "n" eingibt.
Sub AutomatischesEinfuellendesNamens()
Dim x, lstrVerz, abgetrennt, Nameabgetrennt As String
Dim Laenge, Laenge, Laengegesamt As Long
lstrVerz = Dir(Verzeichnis) & "*", vbDirectory)
 If lstrVerz = "" Then
x = InputBox("XXXnicht gefunden! Bitte den Namen eingeben oder mit n abbrechen")
If x = "n" Then
MsgBox ("Vorgang abgebrochen")

Else
ActiveWorkbook.Sheets("Eingabefenster").Range("B18") = (x)
GoTo Überspringen
End If
Else
Laenge = Len(lstrVerz)
LaengePRJ = Len(Left(lstrVerz, InStr(1, lstrVerz, " ")))
Laengegesamt = Laenge - Laenge
Nameabgetrennt = Right(lstrVerz, Laengegesamt)
ActiveWorkbook.Sheets("Eingabefenster").Range("B18") = Nameabgetrennt
Überspringen:
End If
End Sub
Wie schaffe ich es, dass man aus der gecallten Sub die komplette Sub abbrechen kann?
VG

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

Betreff
Datum
Anwender
Anzeige
AW: mit gecallter Sub kompl. Sub beenden
24.04.2020 10:51:15
onur

If x = "n" Then
MsgBox ("Vorgang abgebrochen")
Ex=True
Exit Sub
Else
...

Und in der Hauptsub:
Sub aufruf()
Call AutomatischesEinfuellendesNamens
If Ex Then Exit Sub
...

Und in einem Modul:
Public Ex as Boolean

AW: mit gecallter Sub kompl. Sub beenden
24.04.2020 10:55:45
Daniel
Hi
Gibt zwei Möglichkeiten
a) du kannst mit dem Befehl END den kompletten Makrolauf sofort beenden. Das stoppt alle Makros und setzt auch eventuell vorhandene Statische oder "globale" Variablen zurück
b) schreibe die aufgerufene Sub um in eine Funktion, welche bspw den Wert True zurück gibt wenn abgebrochen werden soll und Frage dies im aufrufenden Makro ab. Diese Abfrage ist auch gleichzeitig der Aufruf zur Ausführung.
Function AutomatischesEinfuellendesNamens() as boolean
Dim x, lstrVerz, abgetrennt, Nameabgetrennt As String
Dim Laenge, Laenge, Laengegesamt As Long
lstrVerz = Dir(Verzeichnis) & "*", vbDirectory)
If lstrVerz = "" Then
x = InputBox("XXXnicht gefunden! Bitte den Namen eingeben oder mit n abbrechen")
If x = "n" Then
MsgBox ("Vorgang abgebrochen")
AutomatischesEinfuellendesNamens = True
Exit Function
Else
ActiveWorkbook.Sheets("Eingabefenster").Range("B18") = (x)
GoTo Überspringen
End If
Else
Laenge = Len(lstrVerz)
LaengePRJ = Len(Left(lstrVerz, InStr(1, lstrVerz, " ")))
Laengegesamt = Laenge - Laenge
Nameabgetrennt = Right(lstrVerz, Laengegesamt)
ActiveWorkbook.Sheets("Eingabefenster").Range("B18") = Nameabgetrennt
Überspringen:
End If
End Sub
Sub aufruf()
If AutomatischesEinfuellendesNamens then Exit Sub
...
Gruß Daniel
Anzeige
AW: mit gecallter Sub kompl. Sub beenden
24.04.2020 11:16:14
Ivan
GEIL!
Danke an euch beide!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige