Excel VBA – was ist das?

VBA ist die Kurzform von „Visual Basic for Application“, eine Skriptsprache, die Microsoft-Office-Nutzern in Anwendungen wie Excel zur Verfügung steht. Entwickelt wurde VBA in den 90er-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. Die Excel-VBA-Programmierung ermöglicht es den verschiedenen Microsoft-Office-Applikationen wie Excel, Word und PowerPoint außerdem, Daten, Tabellen oder Diagramme untereinander auszutauschen.

Excel mit Microsoft 365 Business von IONOS!

Organisieren Sie Ihre Daten in Excel und erstellen Sie im Handumdrehen Tabellen. In allen Office-Paketen enthalten!

Office Online
OneDrive mit 1TB
24/7 Support

Wie funktioniert VBA?

Die Skriptsprache VBA in Excel ist seit Version 95 verfügbar und dank zahlreicher VBA-Tutorials im Netz auch für Nicht-Programmierer leicht zu erlernen. 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. Müssen Sie also immer wieder die gleichen Aktionen durchführen, sparen Sie mit der Excel-Visual-Basic-Programmierung viel Zeit. Denn mit Excel VBA können Sie Objekte je nach Befehl automatisch erstellen, auswählen oder löschen.

Aber wie ist dies genau möglich? 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. Das heißt, dass es für fast jede Standardoperation bereits einen fertigen Code gibt. 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. Eine Einarbeitung ist erforderlich, da Sie den VBA-Code verstehen müssen, um ihn richtig zusammenzusetzen.

Excel VBA: Tutorial für das Grundgerüst

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. Hier ein kurzes VBA-Tutorial, das die Programmierung eines einfachen Excel-Makros Schritt für Schritt erklärt.

Schritt 1: Öffnen Sie den VBA-Editor und fügen Sie ein neues Modul ein. Wird der Menüpunkt „Entwicklertools“ nicht automatisch angezeigt, klicken Sie auf "Datei" -> "Optionen" -> "Menüband anpassen". Unter „Hauptregisterkarten“ müssen Sie dann die Option „Entwicklertools“ auswählen und auf „OK“ klicken.

Schritt 2: Erscheint „Entwicklertools“ nun als Menüpunkt, klicken Sie diesen an und wählen Sie anschließend „Visual Basic“ aus. Nachdem sich der VBA-Editor geöffnet hat, klicken Sie auf „Einfügen Modul“.

Schritt 3: 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 „Beginn“ 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/JJJ 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:

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 VAB-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ängern einen ersten Eindruck von Visual Basic in Excel vermitteln. Im Internet finden Sie viele weitere Anwendungsbeispiele, mit denen Sie üben können.

Zur Anzeige dieses Videos sind Cookies von Drittanbietern erforderlich. Ihre Cookie-Einstellungen können Sie hier aufrufen und ändern.

Excel mit Microsoft 365 Business von IONOS!

Organisieren Sie Ihre Daten in Excel und erstellen Sie im Handumdrehen Tabellen. In allen Office-Paketen enthalten!

Office Online
OneDrive mit 1TB
24/7 Support