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.

Excel mit Microsoft 365 Business von IONOS!
Vernetztes Arbeiten mit Microsoft 365
  • 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“.

excel-entwicklertools-hinzufuegen.png
Wählen Sie über das Menüband und die Hauptregisterkarten die Option „Entwicklertools“.
Hinweis

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.

excel-vba-modul-einfuegen.png
Klicken Sie auf Visual Basic und dann auf Einfügen und Modul.

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.

excel-vba-eingabefeld.png
Geben Sie Option Explicit und Option Base 1 in das Eingabefeld ein.

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.

Tipp

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:

excel-vba-beispiel.png
Excel-Tabelle mit Beispielwerten

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.

excel-vba-funktion-mit-if-else.png
Geben Sie den Code für den If-Test ein und klicken Sie auf den Play-Button.

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:

excel-vba-makro-ausfuehren.png
Führen Sie den If-Test im Dialogfenster Makros aus.
excel-vba-automatisches-ausfuellen.png
Nach Ausführen des Makros sehen Sie die automatische Antwort in C2.

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.

HiDrive Cloud-Speicher
Ihr sicherer Online-Speicher
  • Daten zentral speichern, teilen und bearbeiten
  • Serverstandort Deutschland (ISO 27001-zertifiziert)
  • Höchste Datensicherheit im Einklang mit der DSGVO
War dieser Artikel hilfreich?
Page top