Eine benutzerdefinierte Tabellenfunktion erstellen
211
Office-Produkte, also auch für Excel, programmieren können. Wie viel Sie über VBA wissen
müssen, hängt von dem Schwierigkeitsgrad Ihres Projekts ab. Gerade die Lösung mathema-
tischer Probleme verlangt da nicht allzu viel von Ihnen.
Eine benutzerdefinierte Tabellenfunktion
erstellen
Mit VBA können Sie nicht nur Tabellen- oder Diagrammarbeiten von Excel automatisch
erledigen lassen, sondern auch benutzerdefinierte Funktionen schreiben. Realisiert werden
diese Funktionen über eine spezielle Form von VBA-Prozeduren, eben eine »Funktion«
(engl.: function).
Die wesentlichen Merkmale einer Funktion kennen Sie aus den Formeln in den Tabellenblät-
tern. Eine Funktion besitzt immer einen eindeutigen Namen, immer ein rundes Klammern-
paar und meistens ein oder mehrere Argumente, die jeweils durch ein Semikolon getrennt
werden; gewöhnlich gibt eine Funktion genau einen Wert als Ergebnis zurück. Allgemein
ausgedrückt bedeutet das: Funktionsname(Arg1; Arg2;...). Die Anzahl der Argumente hängt
von der Aufgabe und dem Einsatz der jeweiligen Funktion ab.
Zum Erstellen einer Funktion benötigen Sie:
씰
einen Funktionsnamen
씰
die Anzahl der Argumente und ihre Benennung
씰
den Rechenweg (Algorithmus), der zum Ergebnis führt
Die ersten beiden Punkte sind für einen Anwender in der Tabelle sichtbar, während ihm der
letzte Punkt verborgen bleibt. Was auch niemanden stört, solange die Funktion korrekt
arbeitet.
Der prinzipielle Aufbau einer Prozedur in VBA zur Erstellung einer Funktion gestaltet sich
so: Eine Funktion wird durch die Anweisung Function gefolgt von dem Namen der Funktion,
den eventuellen Argumenten und den Typanweisungen festgelegt; das ist die sogenannte
Funktionsdeklaration. Das Ergebnis von Berechnungen oder Prüfungen wird dem Namen
der Funktion über den Operator »=« zugewiesen. Das Ende einer Funktion wird über die
Anweisung End Function angezeigt. Die Einheit vom einleitenden Schlüsselwort Function bis
zum abschließenden End Function wird Funktionsblock genannt. Mit diesem groben Abriss
können Sie sicher noch nichts anfangen. Lassen Sie uns lieber ein paar Beispiele durchgehen.
Das Beispiel Kreisfläche() soll Ihnen zeigen,
씰
wie man die integrierte Entwicklungsumgebung zur Erstellung benutzerdefinierter Funk-
tionen nutzt,
씰
wie Parameter als Argumente an die Funktion übergeben werden,
씰
wie Berechnungen mit dem Argument und Konstanten durchgeführt werden und
씰
wie das Ergebnis der Berechnung in das Arbeitsblatt gelangt.