Wenn in einem Netzwerk bzw. mehreren Benutzern Dateien ausgetauscht werden, kommt es immer wieder vor, dass unterschiedliche Versionen in Excel zum Einsatz kommen. Das führt dazu, dass bestimmte Funktionen nicht zur Verfügung stehen. Neu sind beispielsweise seit 2007 folgende Funktionen:
- SUMMEWENNS
- ZÄHLENWENNS
- alle Funktionen des Add-in “Analyse-Funktionen”
- MITTELWERTWENN und MITTELWERTWENNS
Ich möchte hier nur mal die beiden Funktionen ISTGERADE und ISTUNGERADE herausgreifen, und an ihnen exemplarisch demonstrieren, wie man mittels eines Add-Ins diese auch für Versionen unter 2007 (auch ohne installierten “Analyse-Funktionen”-Addin) verwenden kann.
Funktion ISTGERADE und ISTUNGERADE
Erläuterungen:
- Beide Funktionen nehmen eine
Double
-Zahl (myZahl
) als Parameter an. ISTGERADE
überprüft, obmyZahl
durch 2 teilbar ist (d.h., ob der Rest der Division durch 2 gleich 0 ist). Ist dies der Fall, gibt die FunktionTrue
zurück, was bedeutet, dass die Zahl gerade ist. Andernfalls gibt sieFalse
zurück.ISTUNGERADE
funktioniert ähnlich, aber im umgekehrten Sinne: WennmyZahl
durch 2 teilbar ist (also gerade), gibt sieFalse
zurück. Andernfalls, wenn die Zahl ungerade ist (der Rest der Division durch 2 ist nicht 0), gibt sieTrue
zurück.
Anmerkung: es ginge noch kürzer, aber so sind sie leicht nachvollziehbar
Das sind zwei wirklich einfache Funktionen, die keiner näheren Erklärung benötigen. Wenn man diese beiden Funktionen in als Add-in in Versionen nach 2007 einbindet, existieren diese beiden Funktionen doppelt:
Die Funktionen zur Verfügung stellen, sofern diese noch nicht existieren
Da die doppelte Auflistung der Formeln aber nicht zielführend ist, stellt sich nun die Frage, wie man es schafft, dass die Funktionen nur in Versionen von Excel eingebunden werden, in denen die Funktionen nicht automatisch zur Verfügung stehen.
Ob die Funktionen automatisch zur Verfügung stehen, hängt von 2 Dingen ab:
- einerseits von der eingesetzten Excel Version (ab 2007 stehen die Funktionen allen zur Verfügung)
- andererseits vom aktivierten Addin-AnalyseFunktionen (vor 2007 konnten diejenigen auf die Funktionen zugreifen, die das Addin AnalyseFunktionen aktiviert hatten)
Erläuterungen:
- Zuerst wird mit
Option Explicit
sichergestellt, dass alle Variablen deklariert werden müssen. nachgeruesteteFunktionen
ist eine globale Variable, die angibt, ob nachgerüstete Funktionen erforderlich sind.TestnachgeruesteteFunktionen
ist eine Prozedur, die überprüft, ob die Excel-Version älter als 11 ist und ob das Analyse-Funktionen-Addin nicht aktiviert ist. Ist dies der Fall, wirdnachgeruesteteFunktionen
aufTrue
gesetzt.Analysefunktionen
ist eine Funktion, die überprüft, ob das Add-In “ANALYS32.XLL” installiert ist.- Die Funktionen
ISTGERADE
undISTUNGERADE
werden nur definiert, wennnachgeruesteteFunktionen
True
ist. Sie überprüfen, ob eine übergebene Zahl gerade bzw. ungerade ist.
Jetzt muss man es nur noch bewerkstelligen, dass die Funktion “TestnachgeruesteteFunktionen” beim Start des Add-ins ausgeführt wird, damit die Variable nachgeruesteteFunktionen widerspiegelt, ob die Funktionen schon vorhanden sind, oder eben nicht.
Dafür fügt man folgenden Quellcode unter Add-in-Name \ Microsoft Excel Objekte \ DieseArbeitsmappe ein: