Kapitel 5 Benutzerdefinierte Funktionen
220
Hinweis Wenn Sie mit den Formeln für die Flächenberechnungen etwas unsicher sind, sehen Sie doch einfach
auf der CD-ROM zum Buch im Ordner \Buch\Kap05 in der Arbeitsmappe Geometrie.xls (Excel 97-
2003) bzw. Geometrie.xlsm (Excel 2007/2010) auf dem Arbeitsblatt Grundlagen nach. Dort sind
Flächenberechnungen erläutert.
Allerdings brauchen wir für unsere Funktion nicht in jedem Fall alle drei Argumente.
씰
Ein Quadrat hat nur Seiten von gleicher Länge, d.h. nur eine Seitenlänge: Ein Argument
genügt hier
씰
Für das Rechteck und das Parallelogramm müssen wir zwei Seiten bzw. die Länge eines
Paares der Parallelen und ihren Abstand, also jeweils zwei Argumente übergeben
씰
Nur beim Trapez müssen alle drei Argumente angegeben werden
Damit kommen wir zum nächsten Punkt.
Funktionen mit optionalen Argumenten
Diese Überschrift nennt den Fachbegriff für die Argumente, die nicht bei jedem Funktions-
aufruf benötigt werden. Weil beim Berechnen der Funktion im Arbeitsblatt nicht auf den
Programmcode Einfluss genommen werden kann, muss man schon beim Erstellen der Funk-
tion im Visual Basic-Editor die Funktion darauf vorbereiten, dass es vorkommen kann, dass
bestimmten Argumenten zur Laufzeit keine Werte übergeben werden. Diese Argumente wer-
den durch das Schlüsselwort Optional, das in der Funktionsdeklaration jedem Namen eines
optionalen Arguments vorangestellt wird, gekennzeichnet. Generell muss zuerst die Deklara-
tion der erforderlichen Argumente abgeschlossen sein, ehe optionale Argumente deklariert
werden dürfen. Diese Reihenfolge ist zwingend.
Die Deklaration einer hypothetischen Funktion Eigenbau mit den zwei erforderlichen Argu-
menten Immer1 und Immer2 und den zwei optionalen Argumenten Manchmal1 und
Manchmal2 sähe dann so aus:
Public Function Eigenbau(Immer1, Immer2, Optional Manchmal1, Optional Manchmal2)
Wie Sie hier sehen können, ist für jedes optionale Argument das Schlüsselwort Optional
anzugeben. Übertragen auf unsere Funktion Viereckfläche erhalten wir unter Einbeziehung
der Typdeklaration Var iant (s. u.) für die Argumente und für die Funktion
Public Function Viereckfläche(Kante1 As Double, Optional Kante2 As Variant, _
Optional Höhe As Variant) As Double
Nach dieser Funktionsdeklaration »weiß« Excel, dass von nun an eine benutzerdefinierte
Funktionen namens Viereckfläche mit den drei Argumenten Kante1, Kante2 und Höhe, von
denen die beiden letzten auch fehlen dürfen, existieren soll, und dass sowohl die Funktion als
auch das erste Argument das Excel-Standardzahlenformat verwenden sollen.
Hinweis Eine Besonderheit in diesem Beispiel für eine Deklaration ist noch zu erwähnen. Die Grundregel ist es,
eine Anweisung in eine Zeile zu schreiben. Dieses Gebot kann nicht immer eingehalten werden und oft
ist es auch übersichtlicher, eine Anweisung in die folgende Zeile umzubrechen. Dazu schreibt man die
Zeichenfolge (Leertaste)+(_) an das Ende der ersten Zeile dieser Anweisung. Der Visual Basic-Edi-