/ / Excel VBA-Funktion und Sub

Excel VBA-Funktion und Sub

Funktion | Sub

Der Unterschied zwischen a Funktion und ein sub im Excel VBA ist, dass eine Funktion einen Wert zurückgeben kann, während ein Sub nicht kann. Funktionen und Subs werden sehr nützlich, wenn die Programmgröße zunimmt.

Funktion

Wenn Excel VBA eine Aufgabe ausführen soll, dieGibt ein Ergebnis zurück, Sie können eine Funktion verwenden. Platzieren Sie eine Funktion in einem Modul (Klicken Sie im Visual Basic-Editor auf Einfügen, Modul). Zum Beispiel die Funktion mit dem Namen Area.

Function Area(x As Double, y As Double) As Double

Area = x * y

End Function

Erläuterung: Diese Funktion hat zwei Argumente (vom Typ Double) und einen Rückgabetyp (der Teil nach As auch vom Typ Double). Sie können den Namen der Funktion (Bereich) in Ihrem Code verwenden, um anzugeben, welches Ergebnis Sie zurückgeben möchten (hier x * y).

Sie können sich jetzt auf diese Funktion (mit anderen Worten rufen Sie die Funktion) von woanders in Ihrem Code, indem Sie einfach den Namen der Funktion und geben Sie einen Wert für jedes Argument.

Fügen Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt ein, und fügen Sie die folgenden Codezeilen hinzu:

Dim z As Double

z = Area(3, 5) + 2

MsgBox z

Erläuterung: Die Funktion gibt einen Wert zurück, so dass Sie diesen Wert in Ihrem Code "fangen" müssen. Sie können dafür eine andere Variable (z) verwenden. Als Nächstes können Sie dieser Variablen einen weiteren Wert hinzufügen (wenn Sie möchten). Zeigen Sie den Wert schließlich mithilfe einer MsgBox an.

Ergebnis, wenn Sie auf die Befehlsschaltfläche auf dem Blatt klicken:

Excel VBA Funktion Ergebnis

Sub

Wenn Sie möchten, dass Excel VBA einige Aktionen ausführt, können Sie eine Untergruppe verwenden. Platzieren Sie eine Unterkomponente in ein Modul (Klicken Sie im Visual Basic-Editor auf Einfügen, Modul). Zum Beispiel das Sub mit dem Namen Area.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Erläuterung: Dieses Sub hat zwei Argumente (vom Typ Double). Es hat keinen Rückgabetyp! Sie können auf dieses Subsystem (das Untersystem) von einem anderen Ort in Ihrem Code aus zugreifen, indem Sie einfach den Namen des Subsystems verwenden und für jedes Argument einen Wert angeben.

Fügen Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt ein, und fügen Sie die folgende Codezeile hinzu:

Area 3, 5

Ergebnis, wenn Sie auf die Befehlsschaltfläche auf dem Blatt klicken:

Excel VBA Sub-Ergebnis

Kannst du den Unterschied zwischen der Funktion sehen?und das Sub? Die Funktion hat den Wert 15 zurückgegeben. Wir haben diesem Ergebnis den Wert 2 hinzugefügt und das Endergebnis angezeigt. Als wir das Sub aufgerufen haben, hatten wir keine Kontrolle mehr über das Ergebnis (15), weil ein Sub keinen Wert zurückgeben kann!

Lesen Sie auch: