Excel VBA: Einstieg in die VBA-Programmierung
Mit Visual Basic Applications in Excel können Sie sich um die Automatisierung von Arbeitsabläufen in Excel kümmern. Auf diese Weise sparen Sie Zeit und sorgen dafür, dass Ihre Daten automatisch auf dem neusten Stand bleiben.
- Bewährt: Vollständiges Office-Paket
- Sicher: 1 TB zentraler Speicherplatz
- Ortsunabhängig: Auf bis zu 5 Geräten installierbar
Was ist Excel VBA?
VBA ist die Kurzform von „Visual Basic for Application“, eine Skriptsprache, die Microsoft-Office-Nutzenden in Anwendungen wie Excel zur Verfügung steht. Entwickelt wurde VBA in den 1990er-Jahren, um die verschiedenen Makro-Sprachen der einzelnen Applikationen zu vereinheitlichen. Mit VBA in Excel lassen sich regelmäßige Arbeitsabläufe automatisieren und praktische Tools fürs Projektmanagement oder Rechenwesen generieren.
Wie jede andere Office-Applikation besteht auch Excel aus verschiedenen Objekten, wie beispielsweise Arbeitsblättern, Zellen oder Tabellen. Die Methoden und Eigenschaften dieser Objekte sind entweder manuell oder bei Bedarf mit der VBA-Programmierung steuerbar. Mithilfe des VBA-Editors, der in der Applikation integriert ist, generieren Sie automatisierte Handlungen. Dies ist gar nicht so kompliziert, denn die einzelnen Code-Bausteine sind bereits festgelegt. Ihre Aufgabe ist es lediglich, die einzelnen Bausteine so zusammenzusetzen, dass eine personalisierte Lösung entsteht. Solche Lösungen, auch Excel-Makros genannt, erleichtern unter anderem das Organisieren, Formatieren oder Importieren von Daten.
Excel VBA öffnen: So geht’s
Bevor Sie mit der VBA-Programmierung starten können, müssen Sie Excel VBA öffnen. Hierzu können Sie einfach die Tastenkombination [Alt] + [F11] nutzen. Der Editor öffnet sich dann automatisch.
Eine alternative Möglichkeit bietet Ihnen die Excel-Menüleiste. Klicken Sie im Reiter „Entwicklertools“ auf „Visual Basic“, um Excel VBA zu öffnen. Es kann sein, dass Ihnen die Entwicklertools nicht angezeigt werden. Ist dies der Fall, können Sie über „Datei“ > „Optionen“ > „Menüband anpassen“ Registerkarten zu Ihrer Menüleise hinzufügen. Wählen Sie unter „Hauptregisterkarten“ den Punkt „Entwicklertools“.
Die hier gezeigte Anleitung funktioniert für Excel-Versionen ab Office 2016 sowie für Microsoft 365.
Excel VBA: Tutorial für den Einstieg
Bevor Sie ein neues Programm in Excel mit Visual Basic erstellen, benötigen Sie zunächst ein Grundgerüst. Dieses füllen Sie dann mit den Code-Bausteinen.
Schritt 1: Nachdem sich der VBA-Editor geöffnet hat, klicken Sie auf „Einfügen“ > „Modul“, um ein neues Modul einzufügen.
Schritt 2: Tragen Sie in das Eingabefeld nun „Option Explicit“ und „Option Base 1“ ein. Dies ermöglicht die Eingabe der Prozedur-Typen Subs und Functions. Subs sind Programme, die nur aus Befehlen bestehen. Hier gibt es keinen Rückgabewert. Rückgabewerte erhalten Sie bei der Eingabe von Functions, die sich aus diesem Grund für mathematische Rechnungen eignen. Die Antworten des Programms werden hier in Form von Dialog-Fenstern angezeigt.
Variablen verwenden
In Excel Visual Basic erfüllen Variablen dieselbe Funktion wie in mathematischen Gleichungen. Sie dienen jedoch nicht nur als Platzhalter für Werte, sondern auch als Platzhalter für Zeichenfolgen oder Objekte. Der Einsatz von Variablen lohnt sich immer dann, wenn Elemente mehr als nur einmal angesprochen werden. Im VBA-Code müssen Sie eine Variable als Datentyp deklarieren. Zur expliziten Deklaration verwenden Sie diese DIM-Anweisung: Dim [Variable] As [Datentyp].
Beispiel: Dim datBeginn As Date signalisiert VBA, dass eine Variable mit dem Namen „datBeginn“ vom Datentyp „Datum“ erzeugt werden soll.
Je nach Inhalt der Variablen müssen Sie in Excel VBA den richtigen Datentyp wählen. Hier ein Überblick über die am meisten verwendeten Datentypen und ihre Typdeklarationszeichen:
- Variant: Kann beliebige Daten enthalten: wie zum Beispiel numerische Werte, Zeichenfolgen, Zeit- oder Datums-Werte. Ein Variant wird auch automatisch angegeben, wenn man einen Datentyp nicht explizit deklariert. Typdeklarationszeichen: Nicht definiert.
- Integer: Wird für ganze Zahlen eingesetzt, die einen Wert von -32.768 bis 32.767 haben. Typdeklarationszeichen: %()
- Long: Wird für ganze Zahlen eingesetzt, die im Bereich von -2.147.483.648 bis 2.147.483.647 liegen. Typdeklarationszeichen: (&)
- Double: Umschließt alle Fließkommazahlen von etwa plus/minus 1,79 10^308. Typdeklarationszeichen: (#)*
- Boolean: Hierbei handelt es sich ausschließlich um True- oder False-Variablen. Wird angezeigt als: True oder False oder #TRUE# oder #FALSE#
- String: Bezieht sich auf Zeichenfolgen mit variabler oder fester Länge. Typdeklarationszeichen: ($)
- Date: Dient zur Uhrzeit- und Datumsangabe. Es lassen sich Uhrzeiten von 00:00:00 Uhr (Mitternacht) bis 23:59:59.9999999 Uhr angeben. Das Format für das Datum ist M/T/JJJJ oder JJJJ-MM-TT.
Die gängigsten VBA-Befehle
Do…Loop-Anweisung
Do
Befehle
Loop [While/Until] Ausdruck
Mit der Do-Schleife führen Sie Befehle aus, die beliebig oft wiederholt werden sollen, bis eine bestimmte Bedingung erfüllt ist. Mit „While“ wird die Schleife wiederholt, bis der Ausdruck „False“ ist. Mit „Until“ wird eine Schleife wiederholt, bis der Ausdruck „True“ ist.
For…Next-Anweisung
For
Variable = [Startwert] To Step [Wert]
Befehl
Next Variable
Mit der For-Schleife werden Anweisungen so oft wiederholt, wie angegeben. Sie beginnt, wenn die Variable den Startwert erreicht hat, und erhöht sich um den festgelegten „Step“-Wert, bis der Endwert erreicht ist.
If…Then…Else-Anweisung
If [Ausdruck1] Then
Befehl1
Elseif [Ausdruck2] Then
Befehl2
Else
Befehl3
End if
Die If-Entscheidung führt eine Reihe von Anweisungen aus, die von der Richtigkeit eines Ausdrucks abhängen. Stimmt im obenstehenden Code der Ausdruck1, wird der Befehl1 automatisch ausgeführt. Stimmt er nicht, wird geprüft, ob der Ausdruck2 korrekt ist. Ist dies der Fall, wird der Befehl2 ausgeführt. Sind beide Ausdrücke nicht korrekt, aktiviert dies Befehl3.
Ein effizientes Arbeiten mit Excel wird nicht nur durch VBA-Programmierung erleichtert, sondern auch mit der Verwendung zeitsparender Excel-Shortcuts.
VBA-Programmierung: Praktisches Beispiel
Der beste Weg, Excel VBA zu lernen, ist das Üben anhand praktischer Beispiele. Im Folgenden kommt eine einfache If…Then…Else-Anweisung zum Einsatz:
Mithilfe eines Excel-Makro soll angezeigt werden, ob Kandidat 142 in A2 einen Test bestanden hat. Für das erfolgreiche Bestehen muss er mindestens 60 Punkte erreicht haben.
Der obenstehende VBA-Code If Range("b2").Value >= 60 Then Range("c2").Value = "Ja"
legt die Bedingung fest, die den Sachverhalt in Zelle C2 mit „Ja“ beantworten würde. Klicken Sie nun auf den Play-Button und im nächsten Fenster auf „Ausführen“, wird die VBA-Programmierung abgespielt und die Zelle C2 automatisch befüllt:
Dies ist ein sehr einfaches Beispiel und soll Anfängerinnen und Anfängern einen ersten Eindruck von Visual Basic in Excel vermitteln. Im Internet finden Sie viele weitere Anwendungsbeispiele, mit denen Sie üben können.
- Daten zentral speichern, teilen und bearbeiten
- Serverstandort Deutschland (ISO 27001-zertifiziert)
- Höchste Datensicherheit im Einklang mit der DSGVO