30.09.2013 Aufrufe

VBA – Programmierung mit Excel Grundlagen

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Unterprogrammtechnik<br />

6 Unterprogrammtechnik<br />

<strong>VBA</strong>, als eine prozedurale Programmiersprache, zeichnet sich dadurch aus, daß der<br />

Programmcode in kleine, unabhängige Einheiten unterteilt ist. Diese Einheiten können sich<br />

gegenseitig aufrufen und Parameter übergeben. Ist die Formulierung der Einheiten allgemein<br />

genug, können sie immer wieder in unterschiedlichen Programmen benutzt werden.<br />

Es gibt im <strong>VBA</strong> zwei Syntaxvarianten für solche Einheiten <strong>–</strong> Prozeduren und Funktionen<br />

6.1 Prozeduren<br />

Wie schon weiter oben im Text beschrieben, beginnt eine Prozedur (auch UNTERPROGRAMM<br />

genannt) <strong>mit</strong> der Anweisung SUB und einem Namen aus max. 255 Zeichen. Dem Namen<br />

folgt eine in runde Klammern gesetzte optionale Argumentenliste. Die Prozedur besteht aus<br />

zwei Teilen:<br />

dem Deklarationsteil (auch Prozedurkopf genant)<br />

dem Programmteil (Programmcode)<br />

Den Abschluß bildet die END SUB <strong>–</strong> Anweisung:<br />

Sub Prozedurname [(Argumentenliste)]<br />

Anweisungen<br />

[Exit Sub]<br />

.<br />

Anweisungen<br />

End Sub<br />

Prozeduren können Aktionen unterschiedlicher Art durchführen, sie können jedoch keine<br />

Werte zurückgeben (siehe dazu Funktionen weiter im Text).<br />

Die ARGUMENTENLISTE (optional) besteht aus Deklarationen von Variablen (durch Kommata<br />

getrennt). Die Argumente dieser Liste werden FORMALE ARGUMENTE (formale Parameter)<br />

genannt.<br />

6.1.1 Aufruf und Parameterübergabe<br />

Sollen beim Aufruf einer Prozedur Parameter übergeben werden, so geschieht die Definition<br />

der Argumentenliste in der folgenden Form:<br />

[ByVal] Variable1[()] [As Typ] [, [ByVal] Variable2[()] [As Typ]]...<br />

Für die Prozedur Testlauf1 werden zwei formale Parameter WERT1 und WERT2 definiert:<br />

Sub Testlauf1 (Wert1 As String, Wert2 As Long)<br />

Ort = Wert2 & " " & Wert1<br />

MsgBox Ort<br />

End Sub<br />

Die Prozedur wird von einer anderen Prozedur aus aufgerufen, wobei beim Aufruf zwei<br />

AKTUELLE PARAMETER (auch aktuelle Argumente genannt) angegeben werden müssen. Dies<br />

geschieht in der allgemeinen Form:<br />

Prozedurname [Argumentenliste]<br />

PROZEDURNAME ist der Name der aufzurufenden Prozedur. Benötigt diese keine Argumente,<br />

spricht man von einer UNECHTEN PROZEDUR.<br />

Für das obige Beispiel könnte der Aufruf lauten:<br />

Sub Aufruf()<br />

Testlauf1 "Hagen", 58084<br />

End Sub<br />

Seite 53

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!