Thema Datum  Von Nutzer Rating
Antwort
19.10.2009 15:28:09 Maria
NotSolved
Blau Aw:Subroutine vorzeitig beenden
22.10.2009 10:30:32 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
22.10.2009 10:30:32
Views:
834
Rating: Antwort:
  Ja
Thema:
Aw:Subroutine vorzeitig beenden
Hallo Maria,
mit den angeführten Zeilen werden wohl weitere Unterprogramme aufgerufen. Wird in einem Unterprogramm ein Exit Sub eingefügt, wird nur dieses Unterprogramm beendet und die Codeausführung wird an der folgenden Stelle des aufrufenden Programms fortgesetzt.
Du musst also die Codeausführung im Hauptprogramm abbrechen. Da die Variable strPart so angelegt ist, dass die Parameterübertragung in beiden Richtungen erfolgen kann, kannst du in der CreateFile-Sub diesem Parameter einen Wert zuweisen, der Abbruch bedeutet, z.B. "Ich will nicht mehr!". Du musst in der CreateFile-Sub nachsehen, wie die Variable in der Klammer hinter Sub CreateFile bezeichnet ist, z.B. a.
Ändere dann z.B. in
If bolError = False Then
a="Ich will nicht mehr!"'hier anstelle von a den Parameternamen einfügen
Exit Sub
end if

Das Hauptprogramm änderst du z.B. in
CreateFile (strPart)
if strPart="Ich will nicht mehr!" then exit sub
FilterFile (strPart)

Gruß
Holger


Maria schrieb am 19.10.2009 15:28:09:

Hallo Leute,

hab ein Problem in VBA Excel, sieht wie folgt aus:

Wenn ich auf den Button klicke werden diese Sub´s ausgeführt:


CreateFile (strPart)
FilterFile (strPart)
DelTab
DelZeile
DelCode


Jetzt will ich in CreateFile eine if abfrage einbauen, die wenn man bei "Speichern unter" auf abbrechen klickt, die gesamte Subroutine beendet!

Habs mit "Exit Sub" versucht, jedocht beendet es dann nur den Sub CreateFile und läft dann weiter zu Filterfile.


bolError = Application.Dialogs(xlDialogSaveAs).Show(strNewName)
strNewName = Application.ActiveWorkbook.Name
If bolError = False Then

Exit Sub


Er ignoriert das Exit Sub für die restlichen Sub´s.

Wie kann ich einen endgültigen EXIT machen?


Wäre sehr dankbar.

Gruß

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
19.10.2009 15:28:09 Maria
NotSolved
Blau Aw:Subroutine vorzeitig beenden
22.10.2009 10:30:32 Holger
NotSolved