ist es möglich, nach End Sub ein neue Prozedur automatisch fort zu setzen?
Danke, chn
Sub aus das erste Sub. Nachdem das fertig gelaufen ist, kann das Rahmen-
Sub das neue starten. Schon gehts auch nach End Sub
.
Gruß
Sheldon
Um in Excel VBA eine neue Prozedur nach dem Befehl End Sub auszuführen, musst du einige Schritte befolgen. Hier ist eine einfache Anleitung:
Öffne den VBA-Editor:
ALT + F11, um den VBA-Editor zu öffnen.Erstelle ein neues Modul:
Einfügen > Modul.Füge deinen Code hinzu:
BeiStart(). Diese Prozedur kann den Code enthalten, den du nach dem End Sub ausführen möchtest.Sub BeiStart()
' Dein Code hier
End Sub
Ändere dein Workbook_Open-Sub:
Workbook_Open rufst du nun BeiStart und das zweite Sub auf, das du ausführen möchtest.Sub Workbook_Open()
Call BeiStart
Call ZweitesSub
End Sub
Speichere dein Projekt:
Fehlermeldung "End Sub erwartet":
End Sub abgeschlossen ist.Das Sub wird nicht aufgerufen:
Es gibt mehrere Möglichkeiten, wie du nach dem End Sub eine andere Prozedur ausführen kannst:
Verwendung von Call: Du kannst Call verwenden, um die nächste Prozedur klarer zu kennzeichnen.
Call ZweitesSub
Verwendung von Application.Run: Dies ermöglicht es dir, ein Makro auszuführen, das in einem anderen Modul definiert ist.
Application.Run "ZweitesSub"
Hier ist ein einfaches Beispiel, um die Funktionsweise zu verdeutlichen:
Sub Workbook_Open()
Call BeiStart
Call ZweitesSub
End Sub
Sub BeiStart()
MsgBox "Erstes Makro wurde ausgeführt!"
End Sub
Sub ZweitesSub()
MsgBox "Zweites Makro wurde ausgeführt!"
End Sub
Wenn du Excel öffnest, wird zuerst das BeiStart-Sub und danach das ZweitesSub ausgeführt.
Nutze Module: Halte deinen Code modular, indem du verschiedene Subs in unterschiedlichen Modulen speicherst. Dies macht das Management einfacher.
Verwende Call: Dies kann den Code lesbarer machen, besonders für Anfänger, da es deutlich macht, dass eine Prozedur aufgerufen wird.
Vermeide die Verwendung von Me in Modulen: Wenn du in einem Modul arbeitest, kann das Me-Objekt zu Verwirrung führen. Halte dich an klare Referenzen.
1. Kann ich mehrere Subs hintereinander aufrufen?
Ja, du kannst so viele Subs hintereinander aufrufen, wie du möchtest, solange jede Prozedur mit End Sub beendet ist.
2. Was passiert, wenn ich End Sub vergesse?
Wenn du End Sub vergisst, bekommst du eine Fehlermeldung wie "End Sub erwartet". Achte darauf, jede Prozedur korrekt zu beenden.
3. Wie kann ich sicherstellen, dass ein Sub vor dem nächsten ausgeführt wird?
Indem du die Subs in der richtigen Reihenfolge aufrufst und sicherstellst, dass jede vorherige Prozedur mit End Sub abgeschlossen ist, wird die Ausführung in der gewünschten Reihenfolge erfolgen.