VBA - Unterprozedur
Sub Procedures sind ähnlich wie Funktionen, es gibt jedoch einige Unterschiede.
Unterprozeduren geben KEINEN Wert zurück, während Funktionen einen Wert zurückgeben können oder nicht.
Unterprozeduren können ohne ein Aufrufschlüsselwort aufgerufen werden.
Unterprozeduren sind immer in Unter- und End-Unteranweisungen enthalten.
Beispiel
Sub Area(x As Double, y As Double)
MsgBox x * y
End Sub
Prozeduren aufrufen
Um eine Prozedur irgendwo im Skript aufzurufen, können Sie eine Funktion aufrufen. Wir können nicht die gleiche Methode wie eine Funktion verwenden, da die Unterprozedur KEINEN Wert zurückgibt.
Function findArea(Length As Double, Width As Variant)
area Length, Width ' To Calculate Area 'area' sub proc is called
End Function
Jetzt können Sie nur die Funktion aufrufen, nicht jedoch die im folgenden Screenshot gezeigte Unterprozedur.
Die Fläche wird berechnet und nur im Feld Nachricht angezeigt.
In der Ergebniszelle wird NULL angezeigt, da der Flächenwert NICHT von der Funktion zurückgegeben wird. Kurz gesagt, Sie können keine direkte Prozedur aus dem Excel-Arbeitsblatt aufrufen.