Wie verwende ich die Call-Anweisung in VBA?

In VBA (Visual Basic for Applications) wird die `Call`-Anweisung verwendet, um eine Prozedur oder Funktion aufzurufen. Die Verwendung von `Call` ist optional; in den meisten Fällen können Sie Prozeduren oder Funktionen einfach durch ihren Namen aufrufen, besonders dann, wenn sie keine Rückgabewerte haben. Wenn Sie jedoch den `Call`-Befehl verwenden, müssen Sie die Argumente der Prozedur in Klammern setzen.

Hier ist, wie Sie die `Call`-Anweisung verwenden können:

Beispiel 1: Prozedur ohne Argumente

Sub MyProcedure()
    MsgBox "Hallo, Welt!"
End Sub

Sub CallExample()
    ' Aufruf ohne die Call-Anweisung
    MyProcedure
    
    ' Aufruf mit der Call-Anweisung
    Call MyProcedure
End Sub

Beispiel 2: Prozedur mit Argumenten

Sub GreetUser(username As String)
    MsgBox "Hallo, " & username & "!"
End Sub

Sub CallExample()
    Dim user As String
    user = "Alice"
    
    ' Aufruf ohne die Call-Anweisung
    GreetUser user
    
    ' Aufruf mit der Call-Anweisung
    Call GreetUser(user)
End Sub

Wichtige Punkte

Function AddNumbers(a As Integer, b As Integer) As Integer
    AddNumbers = a + b
End Function

Sub UseFunction()
    Dim result As Integer
    
    ' Ergebnis zuweisen
    result = AddNumbers(5, 3)
    
    MsgBox "Das Ergebnis ist " & result
End Sub
  • Mit `Call`: Wenn Sie `Call` verwenden, müssen Sie die Argumente in Klammern setzen.
  • Ohne `Call`: Wenn Sie `Call` nicht verwenden, setzen Sie die Argumente ohne Klammern.
  • Funktionen mit Rückgabewerten: Wenn Sie eine Funktion verwenden, die einen Wert zurückgibt, benutzen Sie `Call` in der Regel nicht, sondern weisen das Ergebnis einer Variablen zu.

Durch diese Vorgehensweise können Sie Sub-Prozeduren und Funktionen effizient in VBA verwenden.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project