Excel VBA: Die Grundlagen der Programmierung einfach erklärt

Download: Excel-Handbuch
Philipp Becker
Philipp Becker

Aktualisiert:

Veröffentlicht:

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 mit Excel VBA jedoch ganz leicht in Ihr Tabellenblatt integrieren.

Mitarbeiterin arbeitet mit Excel VBA am Laptop

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]

Neben Excel kommt VBA auch bei Microsoft Word, PowerPoint, Outlook, Project, Publisher, Visio und Access zum Einsatz.

Einsatzmöglichkeiten: 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. Die Programmiersprache bietet in Excel demnach viele Einsatzmöglichkeiten, wie etwa:

  • Automatisierungen von Arbeitsschritten anlegen,
  • spezielle Excel-Tools wie einen Rechnungsgenerator bauen oder
  • Diagramme, Tabellen und andere Elemente zwischen Excel und weiteren Programmen synchronisieren.

Ist VBA noch zeitgemäß?

VBA gibt es bereits seit 1993. Auch wenn VBA zugegeben nicht mehr die aktuellste und flexibelste aller Sprachen ist, ist der Einsatz in Excel und Co. aus unserer Sicht immer noch zeitgemäß. Auch ein Blick auf den Marktanteil der Microsoft-Lösungen unterstreicht das. In 85 Prozent aller deutschen Unternehmen werden die Office-Lösungen verwendet.

Excel-VBA-Programmierung: Wann lohnt sich der Aufwand?

Für erfahrene Developer und Entwicklerinnen dürfte die Programmierung mit VBA ein Leichtes sein. Anfängerinnen und Anfänger 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.

Unsere Kollegin Jennifer Lapp empfiehlt: „Als Faustregel können Sie sich merken: Wenn Sie eine Aufgabe dreimal ausführen müssen, ist der manuelle Weg aus eigener Erfahrung schneller. Müssen Sie eine Aufgabe hingegen hundertmal ausführen, würde ich an Ihrer Stelle VBA nutzen.“

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 aus unserer Sicht hingegen, um Daten abzurufen. Möchten Sie beispielsweise Reports aus unterschiedlichen Quellen erstellen, dann sollten Sie lieber auf Power-Query setzen.

Excel-Handbuch (nicht nur) für Marketer*innen

Füllen Sie das Formular aus, um das kostenlose Excel-Handbuch zu erhalten.

  • Zeitersparnis durch Excel
  • Wissen für Excel-Erfolg
  • Grundlegende Funktionen
  • Fortgeschrittene Funktionen

Excel VBA lernen oder kaufen?

Die Grundlagen in VBA sind für jede Person, die technisch nicht ganz versiert ist, machbar. Komplexe Projekte können hingegen schnell zu einer Mammutaufgabe werden und die eigentliche Zeiteinsparung zunichtemachen. Jedoch gibt es eine Vielzahl von Tools, die bereits vorgefertigt sind und die Sie einfach kaufen können.

Unser Tipp: 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 Ihre Aufgabe bzw. Ihr Vorhaben 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 bei Windows in Ihrem Excel-Blatt auf „Datei“ > „Optionen“ (bei Mac: „Excel“ > „Einstellungen“).

2. Wählen Sie nun „Menüband anpassen“ bzw. „Menüband und Symbolleiste“ aus und setzen Sie einen Haken bei „Entwicklertools“.

excel-vba-aktivieren

Quelle: Screenshot Excel for Mac

3. Sobald Sie auf „Speichern“ geklickt haben, erscheint der Reiter in der oberen Navigation.

Wie öffne ich VBA in Excel?

Sobald Sie die Einstellungen für den Visual Basic Editor im Office-Programm vorgenommen haben, folgt der nächste Schritt. Um VBA in Excel zu öffnen, müssen Sie in den Reiter Entwicklertools wechseln. Alles weitere erfolgt über ein separates Fenster.

Unser Tipp: Werfen Sie einen genauen Blick auf die Grundlagen, bevor Sie loslegen – sonst verwirrt Sie der Editor.

Excel VBA öffnen: Visual Basic Editor über Entwicklertools aufrufen

Wir vermitteln Ihnen diese Grundlagen Schritt für Schritt. Zuerst rufen Sie wie bereits beschrieben den Menüpunkt „Entwicklertools“ auf.

excel-vba-oeffnen1

Quelle: Screenshot Excel for Mac

Um den VBA-Editor zu öffnen, klicken Sie links auf die Schaltfläche „Visual Basic“. Nun öffnet sich ein eigenes Fenster, das für die Programmierung genutzt wird.

excel-vba-oeffnen2

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-oeffnen3

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 Grundgedanke 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
  • Cells = einzelne Zellen

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“. Das Range-Objekt in Excel VBA etwa ermöglicht es Ihnen, auf bestimmte Zellbereiche zuzugreifen und diese zu manipulieren. Mit Cells können Sie einzelne Zellen anhand von Zeilen- und Spaltennummern ansteuern.

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.

Tipps zur VBA-Programmierung: Die fünf wichtigsten Excel-VBA-Befehle

Online-Bibliotheken bieten eine Übersicht über die gängigsten VBA-Befehle. Bevor Sie jedoch anfangen, diese auswendig zu lernen, empfehlen wir Ihnen, sich vor allem mit den folgenden fünf Befehlen zu beschäftigen:

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.

MsgBox

Mit der Excel VBA-Message Box (msgbox) können Sie Nachrichten an die Benutzerin oder den Benutzer ausgeben. Das können einfache Informationen sein oder Sie fordern den Nutzer oder die Nutzerin zu einer Eingabe auf.

For-Schleife

Die For-Schleife ermöglicht es Ihnen, Code mehrfach auszuführen. Sie können damit durch Zellbereiche iterieren oder wiederholende Aufgaben ausführen.

Excel-Handbuch (nicht nur) für Marketer*innen

Füllen Sie das Formular aus, um das kostenlose Excel-Handbuch zu erhalten.

  • Zeitersparnis durch Excel
  • Wissen für Excel-Erfolg
  • Grundlegende Funktionen
  • Fortgeschrittene Funktionen

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 für uns immer wieder 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 Microsoft 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

Typische Fehler bei der Verwendung von Excel VBA

Auch uns unterläuft von Zeit zu Zeit mal eine Abweichung, wenn wir mit VBA arbeiten. Damit Ihnen das nicht passiert, sind hier die häufigsten Fehler und die dazugehörigen Excel-Tipps:

  • Falsche Referenzen im VBA-Code: Oft werden falsche oder ungenaue Zellreferenzen im VBA-Code verwendet. Achten Sie darauf, dass Sie die richtigen Zellen oder Bereiche ansprechen, um Fehler zu vermeiden.
  • Nicht deklarierte Variablen: Es ist wichtig, alle Variablen im VBA-Code zu deklarieren. Tun Sie das nicht, gibt es unerwartete Fehler, die nur schwer zu diagnostizieren sind. Verwenden Sie „Option Explicit“ am Anfang des Codes zur Deklarierung aller Variablen.
  • Kaum Fehlerbehandlung: Viele VBA-Skripte enthalten keine oder nicht ausreichende Fehlerbehandlungsroutinen. Fügen Sie „On Error“-Anweisungen hinzu, um den VBA-Code leichter zu debuggen.
  • Nicht optimierte Schleifen: Die vorgestellten Schleifen wie „For“ oder „Do While“ werden häufig ineffizient genutzt, was die Ausführungszeit verlängert. Optimieren Sie Ihre Schleifen so, dass sie die Excel-Tabelle nicht unnötig belasten.

Fazit: Automatisieren Sie Excel-Prozesse mit VBA

Die Programmiersprache VBA erweist sich in Excel und anderen Office-Anwendungen als Helfer in der Not und darf aus unserer Sicht 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

Titelbild: HubSpot

Themen: Excel

Verwandte Artikel

Profitieren Sie in diesem E-Book von dem Wissen unserer Marketing-Experten und erweitern Sie Ihre Excel-Kenntnisse.

KOSTENLOS HERUNTERLADEN