Excel-VBA-Funktion und Sub
Der Unterschied zwischen einer Funktion und einem Unter in Excel VBA ist, dass eine Funktion einen Wert zurückgeben kann, während ein Unter nicht. Funktionen und U-Boote werden als Programmgröße steigt sehr nützlich.
Funktion
Wenn Sie Excel VBA wollen eine Aufgabe auszuführen, die ein Ergebnis zurückgibt, können Sie eine Funktion verwenden. Legen Sie eine Funktion in einem Modul (im Visual Basic-Editor auf Einfügen, Module). Zum Beispiel kann die Funktion mit dem Namen Bereich.
Function Area(x As Double, y As Double) As Double Area = x y End Function
Erläuterung: Diese Funktion hat zwei Argumente (vom Typ Doppel) und ein Rückgabetyp (der Teil nach wie auch vom Typ Double). Sie können den Namen der Funktion (Area) in Ihrem Code verwenden, um anzuzeigen, die sich ergeben, Sie (hier x y) zurückkehren möchten.
Sie können nun auf diese Funktion beziehen (mit anderen Worten die Funktion aufrufen) von irgendwo anders in Ihrem Code, indem Sie einfach den Namen der Funktion und einen Wert für jedes Argument zu geben.
Legen Sie eine Befehlstaste auf dem Arbeitsblatt und fügen Sie die folgenden Codezeilen:
Dim z As Double z = Area(3, 5) + 2 MsgBox z
Erläuterung: Die Funktion gibt einen Wert, so dass Sie zu ‚fangen‘ dieser Wert in Ihrem Code haben. Sie können eine andere Variable (z) für diese. Als Nächstes können Sie einen anderen Wert dieser Variablen aus (wenn Sie möchten). Schließlich zeigen den Wert eines MsgBox verwenden.
Ergebnis, wenn Sie auf das Befehlsschaltflächen auf dem Blatt klicken:
Sub
Wenn Sie Excel VBA wollen einige Aktionen ausführen, können Sie eine Unter verwenden. Legen Sie einen Unter in ein Modul (in dem Visual Basic-Editor auf Einfügen, Module).
Zum Beispiel kann der Unter mit Namen Bereich.
Sub Area(x As Double, y As Double) MsgBox x * y End Sub
Erläuterung: Dieser Unter hat zwei Argumente (vom Typ Double). Es hat keinen Rückgabetyp! Sie können auf diese Unter beziehen (das entsprechende Sub) von irgendwo anders in Ihrem Code, indem Sie einfach den Namen des Unter verwenden und einen Wert für jedes Argument zu geben.
Legen Sie eine Befehlstaste auf dem Arbeitsblatt und fügen Sie die folgende Codezeile:
Area 3, 5
Ergebnis, wenn Sie auf das Befehlsschaltflächen auf dem Blatt klicken:
Können Sie den Unterschied zwischen der Funktion und der Unter sehen? Die Funktion zurückgegebene Wert 15. Wir haben den Wert 2 zu diesem Ergebnis und zeigten das Endergebnis. Wenn wir die Unter genannt hatten wir keine mehr Kontrolle über das Ergebnis (15), weil ein Unter keinen Wert zurückgeben kann!