Mit Hilfe von Makros lassen sich in Excel zahllose Dinge lösen. Dieser Artikel soll Ihnen eine Einführung in die Entwicklung von Visual Basic Applikationen geben.
Um in Excel 2007 los legen zu können, müssen Sie zunächst die Option "Entwicklerregisterkarte in der Multifunktionsleiste anzeigen" aktivieren. Diese ist unter Microsoft Excel 2007 über die "Office Schaltfläche" > "Excel-Optionen" zu finden.
{xtypo_info}Wie die Entwicklertools unter Excel 2010 oder Excel 2013 eingeblendet werden lesen Sie im Beitrag "Einblenden der Entwicklertools in Excel".{/xtypo_info}
Anschließend finden Sie den Zugang zu den Makros in der nun eingeblendeten Registerkarte "Entwicklertools".
Log geht es:
Im ersten Beispiel möchte ich mit Ihnen eine Funktion erstellen, die in Excel noch nicht existiert. Die Funktion soll den Namen "BRUTTO()" haben und aus Nettowerten einfach einen Bruttowert machen. Dabei nimmt sie jeden Wert und gibt ihn Multipliziert mit 1,19 zurück.
Hierzu wechsle ich in den "Visual Basic Editor" durch einen Klick auf die Schaltfläche "Visual Basic" der Entwicklertools. Unter Excel 2003 und früher ist der Zugang über Extra > Makros > Visual Baisc Editor zu finden. Auch die Tastenkombination [Alt] + [F11] funktioniert in den Excel Versionen bis 2013 und bringt Sie in den "Visual Basic Editor".
Über das Menü Einfügen können Sie nun ein neues Modul einfügen. Module sind die "Container" für die späteren Funktonen und Prozeduren.
Notieren Sie die Funktion exakt so, wie Sie oben abgebildet ist. Hier der Quelltext (ggf. können Sie diesen über Copy & Paste in den Editor kopieren):
{xtypo_code}Public Function BRUTTO(Wert As Currency) As Currency
BRUTTO = Wert * 1.19
End Function{/xtypo_code}
Schließen Sie den VBA Editor und nutzen Sie Funktion z. B. durch Eingabe von "=BRUTTO(A2)" in der Zelle B2.
Nach der [ENTER]-Taste wird dann gerechnet.
Damit haben Sie das erste Makro erstellt. Die erste Funktion wurde mit Hilfe des VBA Editors ins Leben gerufen.
Beachten Sie, dass Excel Makros von Haus aus als "Böse" betrachtet. Daher muss ggf. die Makrosicherheit unter Excel 2003 und früher über Extras > Makros > Sicherheit mind. auf Mittel gesetzt werden, damit der Code überhaupt wirksam werden kann.
{xtypo_info}Wer Excel 2007 bis 2013 einsetzt, sollte sich gleich den Beitrag "Vertrauenswürdigen Speicherorte" ansehen.{/xtypo_info}
Speichern Sie die Arbeitsmappe im nächsten Schritt unter dem Dateityp "Excel-Arbeitsmappe mit Makros (*.xlsm)". Nur, wenn Sie die Arbeitsmappe als "*.xlsm", "xltm", "xls" usw. abspeichern, können die Makros später auch genutzt werden.
{xtypo_info}Anmerkung: Im Beispiel habe ich die Dateinamenerweiterungen eingeblendet. Das sollten Sie ggf. auch so einstellen, um später klar zwischen "xlsm" und "xlsx" unterscheiden zu können. Der Beitrag "Einblenden der Dateinamenerweiterung unter Windows" beschreibt, wie Sie die Dateinamenerweiterungen unter Windows einblenden.{/xtypo_info}
Nach dem Öffnen der Datei ist das Makro ggf. zu aktivieren (falls der Speicherort nicht bereits zu den "vertrauenswürdigen Speicherorten" hinzugefügt wurde).
Klicken Sie nach dem öffnen der Arbeitsmappe auf die Schaltfläche Optionen und aktivieren Sie die Makros für diese Arbeitsmappe. Dann läuft die Brutto-Funktion. Vergessen Sie die Makros zu aktivieren, kennt Excel die Funktion nicht und es würde beim Einsatz einfach der Fehler "#NAME" kommen.
ENDE des Workshops
Weitere Informationen zu Excel Makros und Add-ins im Web