Grundlegendes zu Unterprogrammen (Microsoft Excel)
Wenn Sie Makros in Excel schreiben, verwenden Sie eine Programmiersprache namens Visual Basic für Applikationen (VBA). Dies basiert auf der Programmiersprache BASIC mit Excel-spezifischen Erweiterungen. Eine der Funktionen der Sprache ist die Möglichkeit, Unterprogramme in Ihren Programmen zu verwenden. Betrachten Sie beispielsweise das folgende VBA-Makro:
Sub Macro1() TestSub End Sub
Sub TestSub() MsgBox "In the subroutine" End Sub
Dieses einfache Makro (Macro1) ruft lediglich eine Unterroutine (TestSub) auf, die wiederum ein Meldungsfeld anzeigt, das Sie darüber informiert, dass es sich in der Unterroutine befindet. Wenn Sie auf OK klicken, um das Meldungsfeld zu schließen, wird die Unterroutine beendet und die Steuerung an das Hauptprogramm zurückgegeben. Sie können so viele Unterprogramme in einem VBA-Programm haben, wie Sie möchten. Der Zweck jedes einzelnen sollte darin bestehen, allgemeine Aufgaben auszuführen, damit Sie nicht immer denselben Code neu schreiben müssen.
Sie können auch Parameter an Ihre Unterprogramme übergeben. Diese Parameter können dann von Ihrem Unterprogramm bearbeitet werden. Betrachten Sie beispielsweise das folgende Makro:
Sub Macro1() A = 1 PrintIt A End Sub
Sub PrintIt(x) MsgBox "Value: " & x End Sub
Dies ist ein einfaches Makro, das eine Variable festlegt und sie dann in einem Unterprogrammaufruf an PrintIt übergibt. Diese Unterroutine zeigt den Wert der Variablen in einem Meldungsfeld an und kehrt dann (nachdem Sie OK gedrückt haben) zum aufrufenden Programm zurück.
Beachten Sie, dass das Unterprogramm nicht denselben Variablennamen verwendet, den es übergeben hat. Dies liegt daran, dass VBA den Wert von x (was die Subroutine erwartet zu empfangen) neu zuweist, so dass er mit dem Wert von A übereinstimmt (was das Programm an die Subroutine übergibt). Bei der Übergabe von Parametern an Unterprogramme ist zu beachten, dass Ihr Programm die gleiche Anzahl von Parametern übergeben muss, die das Unterprogramm erwartet, und dass die Parameter vom übereinstimmenden Typ und in der richtigen Reihenfolge sein müssen.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2258) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: