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]

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“.

Excel VBA Menüband AnsichtQuelle: 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.

Excel VBA öffnen

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.

Excel VBA-Editor

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.

Excel VBA-Editor nutzen

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.

New Call-to-action

 New call-to-action

Titelbild: Westend61 / iStock / Getty Images Plus

Ursprünglich veröffentlicht am 14. Juli 2022, aktualisiert am Januar 20 2023

Themen:

Excel