Rückkehr in VBA-Code-Beispiele

VBA – Eine Sub-Prozedur aus einer anderen aufrufen/ausführen

In diesem Tutorial lernen Sie, wie Sie eine Sub-Prozedur aus einer anderen in VBA aufrufen können.

Es ist sehr nützlich, einen Code zu schreiben, der wiederholt verwendet und von mehreren Sub-Prozeduren in Ihrem Projekt aufgerufen werden kann. Das kann enorm viel Zeit sparen und macht den VBA-Code viel effizienter.

Ausführen einer Sub-Prozedur von einer anderen aus

Betrachten Sie die folgenden 3 Sub-Prozeduren:

Sub TestRoutine()
   Routine1Ausfuehren
   Routine2Ausfuehren
End Sub
Sub Routine1Ausfuehren()
   MsgBox "Guten Morgen"
End Sub
Sub Routine2Ausfuehren()
   MsgBox "Das heutige Datum ist " & Format(Date, "dd.mm.yyyy")
End Sub

Wenn wir die Sub-Prozedur TestRoutine ausführen, ruft sie Routine1Ausfuehren und Routine2Ausfuehren auf und es erscheinen 2 Meldungsboxen.

vba sub ausfuehren

Die Anzahl der Sub-Prozeduren, die Sie von einer anderen Sub-Prozedur aus aufrufen können, ist nicht begrenzt.

Verwendung der Call-Anweisung

Sie können auch die Call-Anweisung vor dem Prozedurnamen verwenden, um Ihren Code leichter lesbar zu machen. Es hat jedoch keinerlei Auswirkungen auf die Ausführung oder Speicherung des Codes.

Sub TestRoutine() 
   Call Routine1Ausfuehren 
   Call Routine2Ausfuehren 
End Sub

vba sub aufrufen

Aufrufen einer Sub-Prozedur mit Argumenten

Es ist auch möglich, eine Sub mit Argumenten aufzurufen

Sub TestRoutine() 
   Routine1Ausfuehren ("Melanie")
   Routine2Ausfuehren ("Einen schönen Tag noch")
End Sub
Sub Routine1Ausfuehren(strName As String) 
   MsgBox "Guten Morgen " & " & strName
End Sub
Sub Routine2Ausfuehren(strMessage as String ) 
   MsgBox "Das heutige Datum ist " & Format(Date, "dd.mm.yyyy") & VbCrLf & strMessage
End Sub

sub mit parametern ausfuehren

Aufrufen einer Sub-Prozedur mit benannten Argumenten

Wenn Sie Ihre Argumente benennen, müssen Sie sie nicht in der gleichen Reihenfolge an Ihre Sub-Routinen weitergeben.

Sub TestRoutine() 
   Routine1Ausfuehren strBegruessung:="Wie geht's?", strName:="Melanie"
End Sub
Sub Routine1Ausfuehren(strName as String, strBegruessung as string)  
MsgBox "Guten Morgen " & " & strName & vbCrLf & strBegruessung 
End Sub

sub mit mehreren parametern ausfuehren

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!