Suchfunktionen, automatisierte Berechnungen oder Einträge in Tabellenzeilen: All diese Funktionen bietet Excel nicht auf Anhieb. Mit ein bisschen Programmierungsgeschick können Sie die Anweisungen jedoch ganz leicht in Ihr Tabellenblatt integrieren. Um dort hinzugelangen, benötigen Sie VBA-Kenntnisse.
In diesem Artikel zeigen wir Ihnen, welches Grundwissen Sie zu VBA in Excel brauchen, und geben Ihnen Beispiele für einfache Automatisierungsfunktionen.
![→ Aktueller Excel-Leitfaden, in dem wir 30 unentbehrliche Formeln verständlich erklären [Kostenloser Download]](https://no-cache.hubspot.com/cta/default/53/3e31abda-0479-4acf-a5fd-20666a4baa1d.png)
Was ist VBA in Excel?
Visual Basic for Applications (kurz: VBA) bezeichnet eine Programmiersprache, die in allen gängigen Microsoft Office-Programmen verwendet werden kann. Mithilfe des Codes können die Funktionen der Programme erweitert werden.
Besonders häufig wird VBA in Excel genutzt, um Automatisierungen für wiederkehrende Aktionen zu schaffen. Neben Excel kann mit VBA auch Microsoft Word, PowerPoint, Outlook, Project, Publisher, Visio und Access gesteuert werden.
Was kann man mit Excel VBA alles machen?
VBA ist in Excel immer dann sinnvoll, wenn eine Aufgabe sehr viel Zeit in Anspruch nimmt oder viele Male wiederholt werden muss. Mithilfe der Programmiersprache lassen sich in Excel Automatisierungen von Arbeitsschritten anlegen, spezielle Excel-Tools wie ein Rechnungsgenerator bauen oder Diagramme, Tabellen und andere Elemente zwischen Excel und weiteren Programmen synchronisieren.
VBA-Programmierung: Wann lohnt sich der Aufwand?
Für erfahrene Developer und Entwicklerinnen dürfte die Programmierung mit VBA ein Leichtes sein. Anfänger und Anfängerinnen hingegen müssen erst einmal Zeit in die Lernphase investieren. Daher stellt sich, noch bevor Sie über VBA nachdenken, die Frage, ab wann die Nutzung überhaupt sinnvoll ist.
Eine Faustregel ist: Wenn Sie eine Aufgabe dreimal ausführen müssen, ist der manuelle Weg schneller. Müssen Sie eine Aufgabe hingegen hundertmal ausführen, verschafft Ihnen VBA einen deutlichen Vorteil.
Wenn Sie also klassische Routineaufgaben – wie beispielsweise das Formatieren einer Tabelle oder Erstellen einer Rechnung – effizienter gestalten möchten, ist die Programmierung mit VBA definitiv die beste Entscheidung. Weniger geeignet ist der Code hingegen, um Daten abzurufen. Möchten Sie beispielsweise Reports aus unterschiedlichen Quellen erstellen, dann sollten Sie lieber auf Power-Query setzen.
Excel VBA lernen oder kaufen?
Die Grundlagen in VBA sind für jede Person, die technisch nicht ganz grün hinter den Ohren ist, machbar. Komplexe Projekte können hingegen schnell zu einer Mammutaufgabe werden und die eigentliche Zeiteinsparung zunichte machen. Jedoch gibt es eine Vielzahl von Tools, die bereits vorgefertigt sind und die Sie einfach kaufen können.
Gerade wenn es sich um Aufgaben handelt, die alltäglich und für eine Vielzahl von Personen wichtig sind, ist die Chance sehr groß, dass Sie passende Programme für Ihren Task finden.
Excel VBA aktivieren: Einstellungen für den Visual Basic Editor einrichten
Bevor Sie nun loslegen und Ihre eigenen Programme in Excel schreiben, müssen Sie zunächst bestimmte Einstellungen vornehmen. Im ersten Schritt benötigen Sie den Reiter „Entwicklertools“ in der Navigation. Um diesen zur Ansicht hinzuzufügen, gehen Sie wie folgt vor:
1. Klicken Sie in Ihrem Excel-Blatt auf „Datei“ > „Optionen“ (bei Mac: „Excel“ > „Einstellungen“).
2. Wählen Sie nun „Menüband“ aus und setzen Sie einen Haken bei „Entwicklertools“.
Quelle: Screenshot Excel for Mac
3. Sobald Sie auf “Speichern” geklickt haben, erscheint der Reiter in der oberen Navigation.
Excel VBA öffnen: Visual Basic Editor über Entwicklertools aufrufen
Nachdem Sie die Einstellung vorgenommen haben, können Sie den Menüpunkt „Entwicklertools“ aufrufen.
Quelle: Screenshot Excel for Mac
Um den VBA-Editor zu öffnen, klicken Sie auf die Schaltfläche „Visual Basic“. Nun öffnet sich ein eigenes Fenster, das für die Programmierung genutzt wird.
Quelle: Screenshot Excel for Mac
Der Projekt-Explorer auf der linken Seite zeigt Ihnen eine Auflistung Ihrer Tabellen und Arbeitsblätter. Damit Sie nun den Programm-Code editieren können, müssen Sie mit einem Doppelklick auf das entsprechende Tabellenblatt klicken. Es öffnet sich der Programm-Editor.
Quelle: Screenshot Excel for Mac
Im VBA-Editor fügen Sie nun die einzelnen Bausteine für Ihre Automatisierungsfunktion ein.
Einfaches Excel VBA-Tutorial: Was Sie über den Aufbau wissen müssen
Damit Sie Ihre eigenen Excel-Makros im Visual Basic-Editor schreiben können, müssen Sie zunächst einmal den hierarchischen Aufbau der Office-Programme verstehen. Das Verständnis ist elementar, um die Syntax korrekt anzuwenden und die einzelnen Befehle des Programm-Codes zu begreifen.
Der wichtigste Begriff dabei ist das Objektmodell. Excel und auch andere Office-Programme sind in Objekte strukturiert. Objektbasiertes Programmieren findet sich auch in anderen Programmiersprachen wieder.
Der Grundgedanken dabei ist, dass eine Applikation für die jeweilige Programmiersprache als Objekt verstanden wird, das aus weiteren Unterobjekten besteht. Im Falle von VBA ist Excel ein Objekt, das aus Arbeitsblättern, Tabellen, Zellen oder Diagrammen besteht – zur Verfügung stehen beispielsweise:
- Application = Excel
- Workbook = Arbeitsmappe
- Worksheet = Tabellenblatt
- Range = Zellenbereich
Diese Objekte sind wiederum mit bestimmten Eigenschaften und Methoden ausgestattet. So besitzen Tabellen beispielsweise Namen, eine bestimmte Schriftart oder Position, Inhalte oder Größe. Möchten Sie beispielsweise dem Objekt Worksheet einen Wert hinzufügen, dann nutzen Sie die Methode Value = „XY“.
Darüber hinaus gibt es in VBA unterschiedliche Variablen, die mit einem Datentyp bezeichnet werden müssen. Beispielsweise gilt:
- String = Text
- Byte = ganze Zahl (0 bis 255)
- Date = Datum
- Variant = abhängig vom Inhalt
Die Variablen können, wie in mathematischen Gleichungen, auch zum Rechnen eingesetzt werden. Neben Addition, Subtraktion, Division und Multiplikation sind auch Vergleichsoperatoren oder logische Operatoren (wahr oder falsch) möglich.
Die drei wichtigsten VBA Excel-Befehle
Online-Bibliotheken bieten eine Übersicht über die gängigsten VBA-Befehle. Bevor Sie jedoch anfangen, diese auswendig zu lernen, sollten Sie vor allem die folgenden drei Befehle kennen:
If-Then-Else
If-Then-Schleifen sind in Programmiersprachen gängig und werden genutzt, um Bedingungen aufzustellen. Stimmt die mit If aufgestellte Anweisung, so werden die folgenden Befehle automatisch ausgeführt. Andernfalls wird ein anderer Befehl eingeleitet.
For-Next
For-Next-Befehle lassen Anweisungen so oft ausführen wie im Code angegeben. Wurde der Wert erreicht, startet die nächste Anweisung.
Do-Loop
Mit Do können Sie Anweisungen einleiten, die so oft ausgeführt werden, bis ein bestimmtes Ergebnis eintritt. Als Loop können die Werte While sowie Until verwendet werden. Während While bis zum falschen Ergebnis durchgeführt wird, endet Until, sobald der Ausdruck wahr ist.
VBA Excel-Beispiele: Einfache Makros selbst schreiben
Excel-Makros gibt es zuhauf. Häufig müssen Sie diese gar nicht selbst schreiben, sondern können sich einer Vielzahl von Vorlagen bedienen. Nachfolgend finden sie zwei VBA Excel-Beispiele, die sich als nützlich erweisen:
Zellen mit gleicher Formatierung addieren
Der folgende Programm-Code addiert alle Zellen mit derselben Farbe. Sie können stattdessen jedoch auch andere Formatierungen ansprechen.
Function Farbsumme(Bereich As Range)
Application.Volatile
Farbsumme = 0
For Each zelle In Bereich
If zelle.Font.ColorIndex = 3 Then
Farbsumme = Farbsumme + zelle.Value
End If
Next
End Function
Umlaute in ausgewählten Zellen umwandeln
Stimmen die Dateiformate nicht überein, so werden Umlaute in Excel häufig falsch eingefügt. Mit dem folgenden Makro können Sie alle Umlaute in den markierten Zellen mit einem Klick umwandeln lassen:
Sub umwandel_ä_in_ae()
'Wandelt ä in ae um
With Selection
.Replace What:="Ö", Replacement:="Oe", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True
.Replace What:="Ä", Replacement:="Ae", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True
.Replace What:="Ü", Replacement:="Ue", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True
.Replace What:="ö", Replacement:="oe", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True
.Replace What:="ä", Replacement:="ae", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True
.Replace What:="ü", Replacement:="ue", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True
End With
End Sub
Fazit: Automatisieren Sie Excel-Prozesse mit VBA
Die Programmiersprache VBA erweist sich in Excel und anderen Office-Programmen als Helfer in der Not und darf in keinem Excel-Leitfaden fehlen. Lästige Routineaufgaben lassen sich mit kurzen Code-Schnipseln automatisieren und ewige manuelle Aufgaben gehören der Vergangenheit an. Zahlreiche Bibliotheken bieten bereits vorgefertigte Excel-Makros, die Sie nur zusammensetzen müssen, um Ihre eigene Lösung zu entwerfen.

Titelbild: Westend61 / iStock / Getty Images Plus
Ursprünglich veröffentlicht am 14. Juli 2022, aktualisiert am Januar 20 2023