Excel professionell nutzen - Schulung und Beratung

Excel - Makros und VBA (Visual Basic for Applications)

Makros in Excel

Makros können einem die Arbeit mit Excel sehr erleichtern. Man darf jedoch nicht blauäugig an das Thema herantreten. Denn Makros sind kleine oder auch etwas größere Programme, die Schaden anrichten können.

Makros aus unbekannten Quellen sollten Sie mit größter Sorgfalt behandeln, da diese Programme Computerviren enthalten können. So ist es z.B. möglich Ihre Festplatte zu formatieren oder andere schreckliche Dinge anzurichten. Daher sollten Sie sich der Gefahr bewusst sein und nur zuverlässige Quellen nutzen.

Es kommt auf den richtige Nutzung an. Denn Makros sind ein wichtiges Hilfsmittel und können Arbeitsabläufe in Excel automatisieren. Zur Sicherheit werden Arbeitsmappen mit Makros seit der Excel-Version 2007 mit der Dateiendung ".xlsm" gespeichert. Arbeitsmappen ohne Makros werden mit der Dateiendung ".xlsx" gespeichert. Die Excel-Versionen 1997-2003 werden einheitlich mit der Dateiendung ".xls" abgespeichert.

Man unterscheidet Funktionsmakros und Befehlsmakros. Beide nutzen die Programmiersprache "Visual Basic for Applications (VBA)". Diese wurde von Microsoft zur Steuerung der Abläufe innerhalb der Office-Programme entwickelt.

Funktionsmakros müssen geschrieben werden und können über den Funktionsassistenten (Kategorie Benutzerdefiniert) genutzt werden. Eine Funktion beginnt mit "Function" und endet mit "End Function". Ein Befehlsmakro beginnt mit "Sub" und endet mit "End Sub".

 

Der Makrorecorder ist ein wichtiges Hilfsmittel in Excel

Ein Makro kann mit dem Makrorecorder teilweise aufgezeichnet werden. Der Makrorecorder ist sowohl für den VBA-Anfänger als auch für den fortgeschrittenen Nutzer von großem Nutzen. Denn es ist sinnvoll, bestimmte Arbeitsschritte aufzuzeichnen. Der VBA-Code sollte im Anschluss daran jedoch nachbearbeitet werden. Gerade bei komplexen Aufgaben sollten Sie einzelne Teile aufzeichnen und testen, um diese zum Schluss zusammenzufügen. So können Sie zügig eigene Anwendungen erstellen.

Die Makros finden wir In der Multifunktionsleiste auf der Registerkarte Entwicklertools. Diese Registerkarte muss erst über die Excel-Optionen eingeblendet werden. Danach steht die Registerkarte dauerhaft zur Verfügung – auch beim erneuten Öffnen von Excel.

In den Excel-Optionen kann die Registerkarte Entwicklertools aktiviert werden. Nach der Aktivierung steht die Registerkarte Entwicklertools dauerhaft in Excel zur Verfügung. Beim Einsatz von Makros und VBA sind die Entwicklertools hilfreich.

 

Der VBA-Editor kann über die Registerkarte Entwicklertools oder mit Alt + F11 geöffnet werden

Von der Registerkarte Entwicklertools kann auch der VBA-Editor aufgerufen werden. Der Aufruf des Editors kann jedoch auch mit der Tastenkombination "Alt + F11" erfolgen. Die Makros können in Excel auch mit der Tastenkombination "Alt + F8" gestartet werden.

Im VBA-Editor befinden sich die Makros im Ordner Module und können dort durch Doppelklick geöffnet und bearbeitet werden. Die Bearbeitung ist meist notwendig, da der Makrorecorder häufig nicht nur die veränderten Eigenschaften sondern auch die bestehenden Eigenschaften (z.B. Schriftgröße) aufzeichnet. Hierdurch kann es bei Ausführung des Makros zu ungewollten Veränderungen kommen. Das Löschen dieser Eigenschaften im VBA-Code sollte auf für VBA-Einsteiger möglich sein.

In VBA kann mit Hilfe der IntelliSense eine Liste von Objekten, Methoden und Eigenschaften aufgerufen und ausgewählt werden. Dies geschieht mit "Strg + Leertaste". Hierbei können ein oder mehrere Buchstaben vorgegeben werden, um die Auswahl einzuschränken.

Nach dem Schreiben von Objekten, wie z.B. "ActiveWorkbook" und dem Eingeben eines Punktes öffnet die IntelliSense eine Liste von Eigenschaften und Methoden des Objektes. Die Liste verschwindet beim Drücken der ESC-Taste und wird für dieses Objekt nicht mehr angezeigt. Mit "Strg + J" wird die Liste wieder angezeigt. Man sollte jedoch beachten, dass nicht immer alle für das Objekt verfügbaren Eigenschaften angezeigt werden.

Durch Option Explicit wird eine Variablendeklaration erforderlich, d.h. alle benutzten Variablen müssen deklariert werden oder VBA meldet einen Fehler.

Vorteil der Deklartion von Variablen: Schreibfehler werden gleich entdeckt. Außerdem kann die IntelliSense zur Vervollständigung des Variablennamens genutzt werden.

Damit bei jedem neuen Modul automatisch Option Explicit oben erscheint, sollte man im VBA-Editor unter Extras -> Optionen -> Editor einen Haken bei "Variablendeklaration erforderlich" setzen.