VBA: Excel-Funktion einfach selbst schreiben

Einem Datum die entsprechende Kalenderwoche zuordnen

Von: Lorenz Hölscher
Stand: 4. Mai 2011
4.5
(4)
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

Wenn Ihnen in Excel mal eine Funktion fehlt, dann schreiben Sie sich die einfach selbst. Sie werden im folgenden Beispiel sehen, dass es ganz einfach ist. So kennt Excel etwa keine eingebaute Möglichkeit, einem Datum die entsprechende Kalenderwoche zuzuordnen. Lorenz Hölscher zeigt Ihnen, wie Sie mit VBA für Excel 2003 selbst eine Funktion erstellen, die aus einem Datum die Kalenderwoche errechnet.

Eigentlich wäre dafür die TEXT()-Tabellen-Funktion geeignet, welche aus einem Datum anhand einer Format-Zeichenkette wie "dd.MM.jjjj" einen formatierten Text errechnet. Das Gegenstück zu dieser Funktion heißt in Excel-VBA Format(), kann aber viel mehr.

Die Tatsache, dass es mit VBA durchaus möglich ist, aus einem Datum ohne viel Aufwand eine Kalenderwoche zu berechnen, können Sie sich zunutze machen. Schreiben Sie selbst eine Funktion, das ist nämlich wirklich einfach!

Kalenderwoche doch enthalten?

Sie können in Excel 2003 auch das Add-In "Analyse-Funktionen" aktivieren (Extras/Add-Ins/Analyse-Funktionen), um die Funktion Kalenderwoche() zu erhalten. Nachteil: Wenn Sie Ihre Datei mal weitergeben, können Sie sich nicht darauf verlassen, dass das Add-In am Ziel vorhanden und installiert ist. Bei Excel 2007 wird dieses Add-In inzwischen standardmäßig installiert und vor allem auch aktiviert.

Es geht hier aber weniger um die konkrete Berechnung, als um ein Beispiel einer selbstgeschriebenen Funktion mit wenig mathematischem Aufwand.

Funktion deklarieren

Um eine eigene Funktion in Excel zu erstellen, starten Sie mit Extras/Makro/Visual Basic-Editor oder Alt+F11 den VBA-Editor. Er präsentiert sich als eigenständiges Programm so ähnlich wie im folgenden Bild:

Bild vergrößernVBA-Editor mit leerem Modul

Fehlt das oben bereits sichtbare (leere) Modul, so fügen Sie es mit Einfügen/Modul hinzu. Den eventuell ebenfalls fehlenden Eintrag Option Explicit können Sie direkt eintippen.

Anschließend geben Sie den folgenden Code im Fenster rechts ein oder kopieren ihn dorthin:

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein