Die Funktion Viereckfläche()
219
TippDie benutzerdefinierten Funktionen werden Ihnen auch
Versionen 2010/2007: Registerkarte Formeln, Schaltfläche Funktion einfügen – Symbol: f
x
Versionen 2002/2003: bei AutoSumme/Weitere Funktionen
Versionen bis 2000: im Funktions-Assistenten – Symbol: f
x
in der Kategorie Benutzerdefiniert in alphabetischer Reihenfolge unter Angabe der Argumente
angezeigt.
CD-ROMDieses Beispiel finden Sie 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 Kreis. In
Modul1 dieser Arbeitsmappe können Sie mithilfe des Visual Basic-Editors den Code dazu einsehen.
Die Funktion Viereckfläche()
Mit der Funktion Viereckfläche(Kante1;Kante2;Höhe) soll die Fläche eines beliebigen Vier-
ecks mit mindestens zwei parallelen Kanten (Quadrat, Rechteck, Parallelogramm oder Tra-
pez) berechnet werden. Hierbei geht es weniger darum, Ihnen die Formeln der ebenen Geo-
metrie bei ihrer Anwendung zu erleichtern, als vielmehr um die Vorstellung neuer
Techniken.
Anhand dieser Funktion soll Ihnen gezeigt werden, wie Sie innerhalb benutzerdefinierter
Funktionen
mehrere Argumente,
optionale Argumente und
logische Bedingungen
handhaben können.
Funktionen mit mehreren Argumenten
Wenn auch zahlreiche Funktionen wie z.B. die trigonometrischen Funktionen und unser
vorhergehendes Beispiel Kreisfläche() mit einem Argument auskommen, gibt es viele Funk-
tionen, die zur Berechnung ihres Rückgabewertes zwei oder mehr Argumente benötigen. Für
die Berechnung der Fläche eines Trapezes sind drei Werte notwendig, die als Argumente
unserer Funktion Viereckfläche() übergeben werden müssen.
Für die Deklaration mehrerer Argumente ist auch die erste Zeile des Funktionsblocks vorge-
sehen, wo Sie die Argumente als mit Kommas getrennte Aufzählung zwischen den Klam-
mern eingeben können. Anders als beim Aufruf einer Funktion mit mehreren Argumenten
innerhalb eines Arbeitsblatts müssen im Visual Basic-Editor die Argumente jeweils mit
einem Komma getrennt werden, da hier die angloamerikanischen Konventionen gelten.
Abgesehen von einer gleich zu erwähnenden Ausnahme ist Ihnen die Reihenfolge der Argu-
mente freigestellt. Wenn nun die neue Funktion Viereckfläche() heißen und mit den drei
Argumenten Kante1, Kante2 und Höhe ausgestattet werden soll, kann die Deklaration der
Funktion so aussehen:
Public Function Viereckfläche(Kante1, Kante2, Höhe)
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-

Get Microsoft Excel: Formeln & Funktionen - Das Maxibuch, 2., aktualisierte und erweiterte Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.