Einführung in VBA

Was ist VBA?

Microsoft Office-Anwendungen wie Excel bieten die Möglichkeit, Prozesse und Abläufe mit einer einheitlichen Programmiersprache zu automatisieren. Diese Programmiersprache nennt sich „Visual Basic for Applications“ kurz VBA. VBA lehnt sich an Visual Basic 6 an, einer Programmiersprache, die von Microsoft entwickelt wurde.

Mit VBA kann man keine eigenständig ausführbaren Programme erstellen. Zur Ausführung von VBA-Code wird die Excel Datei benötigt, die den VBA Code enthält. VBA Code besteht aus einer Abfolge von Anweisungen.Beispiele für Anweisungen sind

  • Erstelle eine neue Tabelle in einer Excel Arbeitsmappe
  • Addiere 5 zum Wert in der Zelle A1
  • Speichere den Wert in der Zelle A1 für die spätere Verarbeitung
  • Ändere den Namen einer Tabelle

Die einzelnen Anweisungen können nicht direkt ausgeführt werden. Sie müssen in eine Art Behälter eingefügt werden, der als Makro oder Sub Prozedur bezeichnet wird. Beim Ausführen eines Makros überprüft der Interpreter die Syntax und führt die Anweisungen im Makro der Reihe nach aus.

Excel Oberfläche – Bezeichnungen

Der Visual Basic Editor (VBE)

Den Visual Basic Editor öffnen

  1. In Excel auf die Registerkarte „Entwicklertools“ klicken.
  2. In der Befehlsgruppe „Code“ auf die Schaltfläche „Visual Basic“ klicken.

Schaltflächen in der Befehlsgruppe „Code“

 

Den Visual Basic Editor öffnen

Excel Registerkarte „Entwicklertools“ wird nicht angezeigt – Tipp

Falls die Excel Registerkarte „Entwicklertools“ nicht angezeigt wird, lässt sich das wie folgt ändern:

  • auf die Excel Registerkarte „Datei“ klicken.
Oben links auf "Datei" klicken
  • Anschließend unten links auf „Optionen“ klicken, um das Dialogfeld „Optionen“ zu öffnen.
Unten links auf "Optionen" klicken

Im Dialogfenster „Optionen“

  • auf der linken Seite des Dialogfelds „Menüband anpassen“ auswählen.
  • auf der rechten Seite des Dialogfelds unter „Menüband anpassen“ im Dropdown-Listenfeld auf Hauptregisterkarten klicken und dann das Kontrollkästchen „Entwicklertools“ aktivieren.
  • Abschließend auf „OK“ klicken.
Einfügen der Registerkarte "Entwicklertools" in des Excel Menüband

Makro Sicherheit

In Excel lassen sich die Makrosicherheitseinstellungen ändern, um zu steuern, welche Makros unter welchen Voraussetzungen beim Öffnen einer Arbeitsmappe ausgeführt werden. Bei der Einstellung der Makrosicherheit kann es Unterschiede zwischen den verschiedenen Excel Versionen geben. Ich beschreibe im Folgenden das Vorgehen für Excel 2019.

Makrosicherheitseinstellungen ändern
Auf die Registerkarte „Entwicklertools“ klicken. Anschließend in der Gruppe Code auf Makrosicherheit klicken

Dann wird das Menü „Trust Center“ angezeigt. Dort kann die gewünschte Option für die Makrosicherheit ausgewählt werden. Ich habe gute Erfahrungen mit der Einstellung „Deaktivieren von VBA-Makros mit Benachrichtigung“ gemacht.

Wird die Einstellung der „Deaktivieren von VBA-Makros mit Benachrichtigung“ gewählt, escheint beim Öffnen einer Excel „*.xlsm“ Datei, die Makros enthält eine Meldung wie die beiden folgenden.
Durch Klicken auf „Inhalt aktivieren“ werden die Makros zugelassen.

Durch Klicken auf „Makros aktivieren“ werden die Makros zugelassen.

Der Makrorekorder

Der Excel Makrorekorder ist ein einfach zu bedienendes Hilfswerkzeug dar. Anfängern hilft der Makrorekorder, ihre ersten Schritte in VBA zu machen und den damit erzeugten Code zu analysieren. Für Fortgeschrittene hilft der Makrorekorder, die Namen unbekannter Excel VBA-Befehle zu ermitteln.

Nachteil:
Der mit dem Markorekorder aufgezeichnete VBA Code ist häufig deutlich umständlicher als selbst geschriebener VBA Code. Aufgrund seiner Länge ist der aufgezeichnete Code oft recht unübersichtlich. Er muss daher in der Regel stark überarbeitet werden.

Der Makrorekorder wird wie folgt gestartet

  1. Im Excel Menüband auf das Register „Entwicklertools“ klicken.
  2. In der Gruppe „Code“ auf die Schaltfläche „Makro aufzeichnen“ klicken.

Es erscheint das folgende Pop-Up Fenster, in dem man den Namen des aufzuzeichnenden Makros ändern kann:

Wurden alle gewünschten Anweisungen mit dem Makrorekorder aufgezeichnet, muss der Makrorekorder wie folgt beendet werden:

  1. Im Excel Menüband auf das Register „Entwicklertools“ klicken.
  2. In der Gruppe „Code“ auf die Schaltfläche „Aufzeichnung beenden“ klicken.
Der aufgezeichnete Code befindet sich in einem Modul im Visual Basic Editor (siehe weiter unten).

Modul im Visual Basic Editor einfügen

Der erste Schritt im Visual Basic Editor (VBE) besteht darin, ein Modul einzufügen. Dies erfolgt durch

  1. In der Menüzeile auf „Einfügen“ klicken
  2. Im Drop-Down Menü auf „Modul“ klicken.

Das neu hinzugefügte Modul wird im Projekt Explorer angezeigt.

Ein Modul einfügen

Fenster im Visual Basic Editor (VBE)

Der Visual Basic Editor (VBE) enthält mehrere Fenster. Sie werden in der Abbildung erklärt:

Fenster im Visual Basic Editor

Der Visual Basic Editor (VBE) lässt sich leicht anpassen. Fenster lassen sich ausblenden, neu anordnen, oder andocken.

Namen des Moduls ändern

  1. Im Projekt Explorer auf das Modul klicken, das umbenannt werden soll.
  2. Im Eigenschaftsfenster für das Modul den Namen des Moduls ändern.

Mein erstes VBA Makro

Ein VBA Modul kann nur Deklarationen, Sub- oder Function-Prozeduren enthalten:

Code eingeben

 In das Codefenster werden folgende Zeilen eingegeben:

Sub Macro1()
      Debug.Print "Hello World"
End Sub

Makro starten

Das Makro lässt sich durch einen Klick auf das grüne Dreieck in der Symbolleiste des Visual Basic Editors starten.

Ergebnis

Im Direktfenster wird „Hello World“ ausgegeben.

Speichern einer Excel Datei, die VBA Code enthält

Beim Speichern einer Excel Datei, die VBA Code enthält, muss das Dateiformat Excel-Arbeitsmappe mit Makros (*.xlsm) gewählt werden. Das Standard Dateiformat Excel-Arbeitsmappe (*xlsx) kann keine Makros enthalten.

Wenn Sie eine Excel Datei, die Makros enthält, als Excel-Arbeitsmappe (*xlsx) speichern, erscheint folgende Meldung:

Fehlermeldung beim Speichern Excel Datei, die Makros enthält, als Excel-Arbeitsmappe (*xlsx)

Schreibe einen Kommentar