Software
05.08.2011
Office
1. Teil: „Neue Funktionen für Excel und Calc“

Neue Funktionen für Excel und Calc

Neue Funktionen für Excel und CalcNeue Funktionen für Excel und CalcNeue Funktionen für Excel und Calc
Excel berechnet Nettobeträge nicht direkt. Excel sagt Ihnen auch nicht, wann Ostern ist. Fertige Add-in-Pakete rüsten solche Spezialfunktionen nach. Oder Sie programmieren Ihre Wunschfunktion selbst.
Dieser Artikel erklärt, wie Sie Excel neue Funktionen spendieren. Wer es eilig hat, holt sich dazu einfach fertige Funktionspakete aus dem Web. Mit solchen Add-ins können Sie Ihrem Excel zum Beispiel beibringen, automatisch Backups zu machen. Oder Sie erweitern das Kontextmenü um einen neuen Befehl, der Duplikate löscht.
  • Netto berechnen: Der Befehl „=NETTO(A4;B4)“ rechnet 19 Prozent MwSt. aus 43,41 heraus.
Technisch interessierte Nutzer, die gern herumspielen, programmieren sich ihre Wunschfunktionen selbst. Keine Sorge: Sie benötigen keine programmiertechnischen Vorkenntnisse. In zehn Minuten erstellen Sie selbst Ihre erste Excel-Funktion: Sie berechnet aus einem Bruttobetrag und einem Steuersatz den Nettobetrag.
Übrigens: Wenn Sie Open Office Calc verwenden, können Sie die folgenden Anleitungen ebenfalls umsetzen. Was Sie bei Calc beachten müssen, steht im Abschnitt „Besonderheiten in Open Office“ .
2. Teil: „Wissenswertes zum Thema Tabellenkalkulation“

Wissenswertes zum Thema Tabellenkalkulation

Diese sechs Dinge sollten Sie über Ihre Tabellenkalkulation wissen, damit Sie später neue Funktionen hinzufügen können.

Was sind Funktionen?

Alle Befehle, die Sie in Excel innerhalb einer Zelle zur Berechnung eines Wertes verwenden, sind Funktionen. Die am häufigsten verwendete Funktion „Summe()“ beispielsweise addiert sämtliche Werte eines angegebenen Zellenbereichs.

Wie rufe ich Funktionen auf?

Es gibt mehrere Wege. Wählen Sie in Excel eine beliebige Zelle aus. Oberhalb des Tabellenblatts ist links neben der Eingabezeile das Symbol „fx“ zu sehen. Klicken Sie auf die Schaltfläche, um die Funktionsauswahl zu öffnen. Wählen Sie eine Funktion aus und klicken Sie auf „OK“.
Alternativ können Sie eine Zelle auch auswählen und ein Gleichzeichen gefolgt von einem Funktionsnamen eingeben, etwa =SUMME(A1:A4). Dieser Befehl summiert die Werte der Zellen „A1“ bis „A4“.

Wozu brauche ich eigene Funktionen?

Wer immer wieder bestimmte Berechnungen in seinen Arbeitsmappen nutzt, profitiert von eigenen Funktionen. Denn darin lassen sich beliebige Rechenschritte definieren, die sich dann einfach abrufen lassen. Ein Beispiel ist die Berechnung eines Nettobetrags.

In welcher Sprache werden Funktionen programmiert?

In Microsoft Excel und Open Office Calc kommt die Programmiersprache Basic zum Einsatz. Basic zeichnet sich durch eine sehr klare Struktur aus und ist sehr konkret. Damit ist sie für Programmiereinsteiger schnell zu verstehen und einzusetzen.

Sind die Funktionen von Excel und Open Office kompatibel?

Im Großen und Ganzen lassen sich in Excel programmierte Funktionen ohne Weiteres in Open Office Calc nutzen. Was dabei zu beachten ist, erklärt der Abschnitt „Besonderheiten in Open Office“.

Worin unterscheiden sich Funktionen und Makros?

Makros werden immer dann verwendet, wenn Aufgaben in Excel automatisiert werden sollen. So lassen sich etwa Zellen automatisch mit einer bestimmten Schrift und Farbe formatieren.
Funktionen sind ebenfalls Makros. Sie lassen sich aber als Teil einer Berechnung in einer Tabellenzelle verwenden.
Beispiel: Sie tragen in eine Zelle den Befehl =SUMME(4;5) ein. Die Funktion addiert 4 und 5 und liefert 9 als Ergebnis. Excel und Open Office Calc zeigen dann „9“ als Inhalt der Zelle.
3. Teil: „Funktionen in Excel nachrüsten“

Funktionen in Excel nachrüsten

Am schnellsten erweitern Sie Excel um neue Funktionen, indem Sie fertige Funktionspakete aus dem Internet herunterladen und nachinstallieren. Diese Pakete heißen Add-ins. Sie haben die Dateiendung XLA oder XLL.

Add-ins installieren

Wir zeigen Ihnen anhand des Beispieldatei ostersonntag.xla , wie Sie ein Add-in für Excel installieren und die Tabellenkalkulation damit um nützliche Funktionen erweitern. Welche Funktionen ostersonntag.xla bietet, lesen Sie im nächsten Abschnitt „So geht's: Ostern berechnen“.
  • Add-ins für Excel: Add-ins fassen neue Excel-Funktionen zu einem Paket zusammen, das sich nachträglich installieren lässt.
So installieren Sie das Add-in: Laden Sie das Add-in ostersonntag.xla herunter. Kopieren Sie die Datei am besten in das Verzeichnis, in dem Office-Anwendungen die Add-ins erwarten. Dieses Verzeichnis erreichen Sie am schnellsten, wenn Sie dazu die Variable „%appdata%“ benutzen. Sie enthält auf jedem PC den Pfad zu den Anwendungsdaten von Programmen. Im Windows-Explorer oder in einem „Speichern unter“-Dialog geben Sie also oben in die Adresszeile %appdata%\Microsoft\AddIns ein und drücken die Eingabetaste.
Wenn sich die Datei „ostersonntag.xla“ im Verzeichnis „%appdata%\Microsoft\Addins“ befindet, dann starten Sie Excel.
Öffnen Sie den Add-in-Manager mit dem Menübefehl „Extras, Add-Ins…“. Sie sehen eine Liste, in der bereits einige Add-ins aufgeführt sind.
Um weitere Add-ins zu installieren, klicken Sie auf „Durchsuchen…“. Wählen Sie „ostersonntag.xla“ aus und klicken Sie auf „Öffnen“. Es wird dann in die Add-in-Liste aufgenommen. Das Häkchen bedeutet, dass das Add-in aktiv ist, Sie es also verwenden können.
Wenn Sie auf den Namen eines Add-ins klicken, erhalten Sie eine kurze Beschreibung.

So geht's: Ostern berechnen

  • Ostersonntag: Es ist kompliziert zu berechnen, auf welchen Tag Ostern in einem bestimmten Jahr fällt. Die neue Excel-Funktion „OSTERSONNTAG()“ hilft.
Excel kann den Ostersonntag nicht berechnen. Wir haben dafür die Funktion „OSTERSONNTAG()” programmiert. Installieren Sie ostersonntag.xla wie im vorherigen Abschnitt beschrieben.
Geben Sie beispielsweise in Spalte „A“ eine Reihe von Jahreszahlen ein. Schreiben Sie nun in Zelle „B2“ die Funktion =OSTERSONNTAG(A2). Klicken Sie die Zelle mit der rechten Maustaste an, wählen Sie „Zellen formatieren…“ aus und formatieren Sie die Zelle als Datum.
Jetzt kopieren Sie die Zelle „B2“ nach unten — und neben jeder Jahreszahl sehen Sie das entsprechende Datum für Ostersonntag.
Falls Sie auch den Ostermontag berechnen möchten, dann geben Sie in Zelle „C2“ =OSTERSONNTAG(A2)+1 ein. Das addiert zum Ostersonntag einen Tag hinzu.
4. Teil: „Funktionen selber machen“

Funktionen selber machen

Der folgende Abschnitt erklärt anhand eines Beispiels, wie Sie selbst eine Excel-Funktion erstellen. Die Funktion wird aus einem bekannten Bruttobetrag und einem bekannten Steuersatz den Nettobetrag berechnen.
Das Programm, das Sie dazu nutzen, ist der Visual-Basic-Editor. Er ist in Ihrem Excel enthalten. Bevor es ans Programmieren geht, müssen Sie noch ein paar Vorbereitungen treffen: Sie nehmen in Excel eine Sicherheitseinstellung vor, öffnen den Editor und bauen dann das Grundgerüst für Ihre neue Funktion.
Starten Sie zunächst Excel. Falls Excel ohne eine leere Arbeitsmappe namens „Mappe1“ startet, klicken Sie auf „Datei, Neu…“ und wählen „Leere Arbeitsmappe“ aus.

Makro-Sicherheit

  • Makro-Sicherheit: Stellen Sie die Sicherheitsstufe auf „Mittel“, sonst führt Excel Ihre Funktionen nicht aus.
Alle Funktionen sind Makros. Makros können grundsätzlich Schaden an Ihrem System verursachen. Deshalb schränkt Excel die Ausführung von Makros per Vorgabe auch so weit ein, dass lediglich Makros aus vertrauenswürdigen Quellen erlaubt sind. Damit Sie die neue Funktion „NETTO()“, die Sie im Lauf des Workshops programmieren, später auch selbst benutzen können, müssen Sie die Sicherheitsstufe von Excel herabsenken. Das geht so:
Klicken Sie in Excel auf „Extras, Makro, Sicherheit…“. Wechseln Sie auf die Registerkarte „Sicherheitsstufe“. Wählen Sie die Option „Mittel“ aus und klicken Sie auf „OK“.
Wenn Sie künftig eine Excel-Arbeitsmappe mit Makros öffnen, dann erscheint ein Dialogfenster. Falls es sich um eine Arbeitsmappe mit Funktionen handelt, die Sie selbst erstellt haben — denen Sie also vertrauen —, klicken Sie auf „Makros aktivieren“.

Visual-Basic-Editor

  • Der Visual-Basic-Editor ist in allen Versionen von Microsoft Office enthalten. Das Programm dient zur Entwicklung von Makros und Funktionen. Sie starten den Editor in Excel über die Tastenkombination [Alt F11].
Funktionen und Makros erstellen Sie in Excel mit dem Microsoft Visual Basic-Editor.
Bis einschließlich Excel 2003 erreichen Sie den Editor über das Hauptmenü unter „Extras, Makros, Visual Basic-Editor“. Unter Microsoft Excel 2007 und 2010 wechseln Sie auf die Registerkarte „Entwickler-Tools“ und klicken links auf die Schaltfläche „Visual Basic“.
Sie können den Visual-Basic-Editor übrigens auch mit [Alt F11] starten. Die Tastenkombination funktioniert in allen Programmversionen von Excel.
Der Visual-Basic-Editor startet in einem eigenen Programmfenster. Wie es aufgebaut ist, erklärt das Bild So geht’s: Visual-Basic-Editor.

Module

  • Visual-Basic-Editor: Wählen Sie den Typ „Function“ und den Gültigkeitsbereich „Public“. Variablen sollten nicht statisch sein.
Funktionen sammelt Excel in Modulen. Bevor Sie eine Funktion definieren, legen Sie also im Visual-Basic-Editor ein Modul an.
Klicken Sie dazu im Projektbaum den Eintrag „VBAProject (Mappe1)“ mit der rechten Maustaste an. Wählen Sie „Einfügen, Modul“. Ein neuer Zweig namens „Module“ erscheint im Projektbaum.
Wählen Sie dann aus dem Hauptmenü „Einfügen, Prozedur…“ aus. Geben Sie in das Feld „Name“ eine Bezeichnung für Ihre künftige „Netto“-Funktion ein, beispielsweise Netto.
Sie wollen eine Funktion programmieren. Wählen Sie aus der Gruppe „Typ“ also die Option „Function“ aus. Ändern Sie die anderen Optionen nicht: Der „Gültigkeitsbereich“ muss „Public“ sein, und bei „Alle lokalen Variablen statisch“ darf kein Häkchen sein. Klicken Sie auf „OK“.
  • Neue Funktion im Rohbau: Die neue Funktion „NETTO()“ wurde eingefügt, besteht aber zunächst nur aus einem Kopf und einem Ende.
Der Visual-Basic-Editor erstellt nun das Grundgerüst für die Funktion „NETTO()“. Dieses Gerüst besteht aus drei Anweisungen — „Public, Function, End Function“ — und dem zuvor eingegebenen Namen „Netto“.
Klicken Sie auf das Symbol „Speichern“ in der Werkzeugleiste. Legen Sie einen Speicherort und einen Namen für die Mappe fest.

Berechnungsmethode

Der Nettobetrag entspricht 100 Prozent. Der Bruttobetrag entspricht folglich 100 Prozent plus Steuersatz, bei Waren also meistens 119 Prozent.
Beispiel: Um vom Bruttobetrag 35,70 Euro bei 19 Prozent Umsatzsteuer den Nettobetrag zu errechnen, wird der Bruttobetrag mit 119 Prozent gleichgesetzt. Nun werden die 35,70 Euro durch 119 Prozent geteilt und mit 100 Prozent multipliziert. Das ergibt den Nettobetrag 30,00 Euro. Die mathematische Grundlage ist der Dreisatz.

Parameter

Wenn Sie die Funktion „NETTO()“ später verwenden, dann werden Sie einen Bruttobetrag und einen Steuersatz eingeben. Das sind die Parameter, mit denen die Funktion rechnen soll. Damit die Funktion mit den Parametern umgehen kann, werden sie in Variablen gespeichert. Praktischerweise nennen wir diese Variablen Bruttobetrag und Steuersatz.
Die erste Zeile der Funktion sieht so aus:
Code-Beispiel
1
2
Public Function Netto (Bruttobetrag, Steuersatz)
 
Code per E-Mail versenden

Die Funktion ist nun so erweitert, dass sie als ersten Parameter den Bruttobetrag und als zweiten den Steuersatz erwartet. Mit diesen beiden Werten lässt sich nun einfach rechnen.

Rückgabewert

Das Ergebnis, das eine Funktion zurückliefert, wird Rückgabewert genannt.
Der Rückgabewert, in diesem Beispiel der Nettobetrag, berechnet sich so:
Code-Beispiel
1
2
Netto = Bruttobetrag / (100 + Steuersatz) * 100
 
Code per E-Mail versenden

Die Klammern bedeuten, dass zuerst der Steuersatz zu 100 addiert wird. Danach wird der Bruttobetrag durch diese Summe geteilt und mit 100 multipliziert. Das ist die Umsetzung des weiter vorn beschriebenen Dreisatzes zur Berechnung des Nettobetrags.

Operatoren

Eine Berechnung wird in der Programmierung mit Operatoren durchgeführt. Für eine Addition wird etwa der Operator „+“ verwendet, für eine Subtraktion der Operator „—“. Eine Multiplikation erfolgt mit „*“ und eine Division mit „/“. Welche weiteren Operatoren Sie bei Berechnungen einsetzen können, zeigt der Tabelle im nächsten Abschnitt „Rechnen: Operatoren für Excel und Calc“.
Wie in der Mathematik stehen links und rechts des Operators Variablen oder Werte, mit denen gerechnet werden soll.

Rechnen: Operatoren für Excel und Calc

Operatoren sind spezielle Zeichen, die in Funktionen und in Tabellenzellen Berechnungen ermöglichen. Die Übersicht zeigt die wichtigsten Operatoren.
Tabelle:
Operatoren für Excel und Calc

Bedingungen

Ihre Funktion arbeitet bis hierher einwandfrei, es kann aber zu einem Problem kommen: Wenn als Steuersatz versehentlich ein negativer Wert übergeben wird, dann versucht die Funktion unter Umständen, den Bruttobetrag durch 0 zu teilen. Und das führt zu einem Fehler.
Um zu verhindern, dass dieses Problem überhaupt auftritt, und um gleichzeitig alle negativen Werte als Steuersatz auszuschließen, müssen Sie folgende Bedingung prüfen: Der Wert der Variablen Steuersatz muss größer als 0 sein.
Die um die Bedingungsprüfung erweiterte Funktion sieht nun etwas komplexer aus. Sie prüft in der Zeile „If Steuersatz > 0 Then“, ob der Steuersatz größer als 0 ist. Falls ja, führt sie die Berechnung in der danach folgenden Zeile aus.
Code-Beispiel
1
2
Public Function Netto (Bruttobetrag, Steuersatz)
If Steuersatz > 0 Then
 
Code per E-Mail versenden

Wenn der Steuersatz kleiner oder gleich 0 ist, dann wird die Zeile ausgeführt, die nach „Else“ folgt. Hier wird als Ergebnis der Funktion ein Fehler festgelegt. In der Excel-Zelle wird später der Hinweis „#WERT!“ erscheinen anstelle einer Zahl.

Einsetzen

  • Netto berechnen: Der Befehl „=NETTO(A4;B4)“ rechnet 19 Prozent MwSt. aus 43,41 heraus.
Um die Funktion in Excel zu verwenden, geben Sie etwa in Zelle „A4“ einen Bruttobetrag ein. Daneben in „B4“ schreiben Sie den Mehrwertsteuersatz 19. Geben Sie jetzt in Zelle „C4“ die Funktion =NETTO(A4;B4) ein und drücken Sie die Eingabetaste.
Ihre importierten und selbst erstellten Funktionen finden Sie auch über den Menübefehl „Einfügen, Funktion…“. Wählen Sie dort die Kategorie „Benutzerdefiniert“. Neue Funktionen wie „=NETTO()“ oder „OSTERSONNTAG()“ werden jetzt aufgelistet.

Als Add-in speichern

  • Add-in mit Excel erstellen: Geben Sie einen Titel und einen Kommentar ein. Beides wird beim Import im Add-in-Manager angezeigt.
Speichern Sie Ihre Arbeitsmappen mit den eigenen Funktionen immer zuerst als normale Excel-Datei. Falls Sie die Funktionen einmal an andere weitergeben möchten, dann speichern Sie die Arbeitsmappen zusätzlich im Add-in-Format mit der Erweiterung XLA.
Öffnen Sie die Arbeitsmappe. Klicken Sie zunächst auf „Datei, Eigenschaften”. Wechseln Sie auf die Registerkarte „Zusammenfassung”. Geben Sie in die Felder „Titel” und „Kommentare” passende Beschreibungen für die Excel-Funktionen und somit für das Add-in-Paket ein. Diese Informationen werden später im Add-in-Manager angezeigt. Klicken Sie auf „OK”.
Klicken Sie dann auch „Speichern unter…“. Wählen Sie als „Dateityp“ die Option „Microsoft Office Excel-Add-in (*.xla)“ aus. Klicken Sie auf „Speichern“.
5. Teil: „Besonderheiten in Open Office“

Besonderheiten in Open Office

  • In Open Office werden Funktionen und Makros mit Open Office Basic programmiert. Open Office Basic ist Bestandteil jeder Open-Office-Installation.
Weil auch Open Office für eigene Funktionen als Programmiersprache Basic verwendet, können Sie die Basic-Befehle, die im Abschnitt „Funktionen selber machen“ beschrieben sind, auch in Open Office Calc verwenden. Folgendes müssen Sie aber beachten.

Makro-Sicherheit

Die Optionen zur Makro-Sicherheit sind in Open Office Calc an anderer Stelle untergebracht. Klicken Sie im Hauptmenü auf „Extras, Optionen…, wählen Sie unter „OpenOffice.org“ den Punkt „Sicherheit“ aus und klicken Sie rechts auf „Makrosicherheit…“. Wählen Sie auf der Registerkarte „Sicherheitsstufe“ die Option „Mittel“ aus und klicken Sie auf „OK“.

Open Office Basic

In Open Office werden benutzerdefinierte Funktionen ebenfalls in der Kategorie „Makros“ gesammelt. Der Editor heißt hier OpenOffice.org Basic. So starten Sie ihn: Klicken Sie auf „Extras, Makros“. Wählen Sie aus dem Untermenü „Makros verwalten“ und dann „OpenOffice.org Basic…“.

Module

  • Neues Modul in Open Office Basic: Benutzerdefinierte Funktionen heißen in Open Office Makros. Sie sind in Modulen organisiert.
Makros sind in Modulen organisiert. Um eine Funktion zu definieren, benötigen Sie also zuerst ein neues Modul. Starten Sie den Funktionseditor Open OfficeBasic. Wählen Sie dann in der Liste „Makros aus“ das aktuelle Tabellendokument aus, etwa „Unbenannt 1“. Klicken Sie rechts auf „Neu“. Im neuen Dialogfenster behalten Sie den Standardnamen „Module1“ bei und klicken auf „OK“.
Das Modul wird daraufhin erzeugt und in Open Office Basic angezeigt. Das Modul ist bereits mit einer Grundstruktur gefüttert. Die erste Zeile ist lediglich ein Kommentar, danach folgt mit „Sub Main“ und „End Sub“ der Modulkörper.
Alle Funktionen werden vor dem Modulkörper definiert. Weil in Open Office Basic eine Option fehlt, die einen Funktionskörper generiert und einsetzt, muss auch der Funktionskörper von Hand notiert werden. Fügen Sie neue Funktionen daher immer vor der Zeile „Sub Main“ ein.
Die im Abschnitt „Funktionen selber machen“ erstellte Funktion lässt sich eins zu eins auf Open Office Calc übertragen:
Code-Beispiel
1
2
Public Function Netto(Bruttobetrag, Steuersatz)
If Steuersatz > 0 Then
 
Code per E-Mail versenden

Klicken Sie auf „Datei, Speichern“, um die Änderungen zu sichern.

mehr zum Thema