Einführung in die Arbeit mit Visual Basic für Applikationen in Excel (VBA)

18. Januar 2024 in Excel

visual-basic-in-excel

Das Tabellenkalkulationsprogramm Excel hat einen großen Funktionsumfang, den Sie mithilfe von VBA (Visual Basic für Applikationen) und Makros noch erweitern können. Sie möchten umfangreiche Aktionen nicht mehr manuell, sondern automatisch durchführen? Die Aufgaben sind komplex, beinhalten also zum Beispiel Wiederholungen oder Verzweigungen? Dann lohnt es sich, genaueres über Visual Basic für Applikationen in Excel zu lernen.

Was ist VBA überhaupt?

Visual Basic für Applikationen, kurz VBA, ist eine interpretierte Programmiersprache. Das heißt, sie liest einen Quellcode und führt ihn aus. Sie ist einheitlich für verschiedene Microsoft Office-Anwendungen verfügbar:

  • Excel
  • Word
  • Access
  • Project
  • PowerPoint
  • Visio
  • Outlook

Die Skriptsprache findet auch bei anderen Programmen Anwendung, etwa denen der Corel Corporation.

Nachfolgend finden Sie einige Beispiele dafür, was Sie mit VBA in Excel tun können:

  • Listen verwalten
  • Daten analysieren
  • Formulare erstellen
  • Diagramme aus Daten visualisieren

Der Funktionsumfang ist groß und zielt in erster Linie darauf ab, Vorgänge zu automatisieren. Befehle können Sie auf andere Excel-Dateien übertragen oder zu einem späteren Zeitpunkt wieder ausführen. Zeitaufwändige Arbeiten erledigt das Programm für Sie ganz alleine. Sie müssen dafür lediglich den Code in einem entsprechenden Modul schreiben und diesen ausführen.

Die Arbeit mit VBA in Excel hat viele Vor-, aber auch einige Nachteile:

Vorteile Nachteile
+ Bestimmte Aufgaben können durch die Automatisierung viel schneller erledigt werden.

+ Vielseitige Funktionen im Office-Bereich.

+ Möglichkeit zur Anwendung neuer eigener Funktionen.

+ Im Vergleich zu anderen Programmiersprachen leicht zu lernen.

+ Sobald die Syntax steht, kann selbst ein Laie damit arbeiten.

– Die Einarbeitung erfordert Zeit.

– Wenn andere Personen Ihre VBA-Anwendungen nutzen möchten, brauchen sie selbst auch Excel.

– Die Fehlersuche kann schwierig sein, wenn der Code umfangreich ist.

– Die Kompatibilität von bereits erstellten Programmen mit anderen Excel-Versionen ist nicht hundertprozentig gewährleistet.

Hinweis: Es gibt einen Unterschied zwischen VBA und VB (Visual Basic). Letzteres ist eine vollständige Programmiersprache. Sie dient dazu, fertige Programme zu erzeugen. Das kann zum Beispiel eine .exe-Datei sein, die direkt vom Betriebssystem ausgeführt wird. Auf dieser Sprache basiert VBA in Excel.

Grundlagen der VBA-Programmierung

Die Programmiersprache ist logisch aufgebaut. Sie konzipieren damit bestimmte Objekte, welche Befehle empfangen und ausführen können. Diese tun ausschließlich das, was Sie ihnen mithilfe des Codes aufgetragen haben. Es ist demnach essentiell, dass Sie beim Programmieren exakte Anweisungen schreiben.

Tipp: Sie haben bei der Excel-Programmierung zwei Möglichkeiten. Sie können den Code selbst erstellen oder Ihre Arbeitsschritte aufzeichnen lassen. Für den jeweiligen Befehl, den Sie per Mausklick ausführen, wird dann ein Quelltext erstellt, welchen Sie kopieren oder anpassen können. Das erleichtert vielen den Einstieg ins Programmieren. Benutzerdefinierte oder komplexere Funktionen können Sie damit allerdings nicht umsetzen.

a) Variablen, Datentypen und Operatoren

Wie bei anderen Programmiersprachen gibt es bei VBA in Excel Variablen. Sie können unterschiedliche Werte annehmen und speichern oder verarbeiten diese. Als Beispiel sei hier eine Liste von Personen unterschiedlichen Alters genannt. Wäre das Alter als fixe Zahl festgelegt, könnten Sie es im Code nur auf sehr umständliche Weise ändern.

Jeder Variable ist ein bestimmter Datentyp zugeordnet. Das können unter anderem diese sein:

  • String: Text
  • Byte: ganze Zahlen von 0 bis 255
  • Date: Datum
  • Variant: Datentyp abhängig vom Inhalt

Mit den Werten in Variablen können Sie rechnen. Das tun Sie mit Operatoren wie den folgenden:

  • Arithmetische Operatoren: Addition, Subtraktion, Division, Multiplikation, Modulo, etc.
  • Verkettungsoperatoren: z. B. „+“ (Addition), „&“ (Verkettung)
  • Vergleichsoperatoren: größer, kleiner, ungleich, etc.
  • Logische Operatoren: wahr oder falsch

b) Funktionen und Objekte

Sie können verschiedene Funktionen festlegen. Diese bestehen aus:

  • Einem Bezeichner
  • Parametern mit festgelegten Datentypen
  • Datentyp des Rückgabewertes

Excel besteht aus verschiedenen Objekten, die Sie mit Befehlen oder Funktionen beeinflussen können. Im Excel-Objektmodell stehen diese in einer bestimmten Hierarchie bzw. einer Beziehung zu einander. Es gibt unter anderem folgende:

  • Application: Excel selbst
  • Workbook: eine Arbeitsmappe
  • Worksheet: ein Tabellenblatt
  • Range: ein Zellenbereich

c) Eigenschaften, Methoden und Auflistungen

Objekten können Sie bestimmte Eigenschaften zuweisen, wodurch sich die spezifischen Merkmale verändern. Sie möchten, dass das Objekt eine Aufgabe ausführt? Dann rufen Sie eine Methode auf.

Beispiel: Wenn Sie für das Objekt „Workbook“ die „Close“-Methode aktivieren, schließen Sie diese. Alternativ können Sie die Arbeitsmappe auch speichern oder ähnliches.

Es gibt einen Unterschied zwischen der Singular- und der Pluralversion eines Objekts. Mit Letzterer können Sie einen Vorgang für mehrere Objekte einer Auflistung durchführen.

Werbeblock Excel 

Makros und der Visual Basic-Editor in Excel

In unserem Tutorial „Makros in Excel“ haben wir Ihnen bereits erklärt, wie Sie ohne VBA mit Makros in Tabellenkalkulationen arbeiten. Im Folgenden lesen Sie, wie Sie Makros mit dem Visual Basic-Editor erstellen können.

Zur Erinnerung: Was sind Makros?
Diese zeichnen Befehle in einer bestimmten Reihenfolge auf. Sie möchten in mehreren Arbeitsmappen eine bestimmte Spaltenbreite einstellen? Solche und ähnliche Aufgaben müssen Sie nicht manuell ausführen. Sie lassen sich einfach automatisieren. Werden die Aufgaben komplexer, können Sie in Excel VBA zu Hilfe nehmen. Damit programmieren Sie auch Wiederholungen, Verzweigungen oder Befehle unter bestimmten Bedingungen problemlos. Zum Beispiel können Sie Anweisungen fünf Mal oder bis zum Seitenende wiederholen. Wie Sie vorgehen, erfahren Sie nachfolgend.

Zuallererst gilt es, die Entwicklungsumgebung von Visual Basic für Applikationen in Excel zu finden:

  1. Klicken Sie im Menü auf „Datei“ und anschließend auf „Optionen“.
  2. Im neuen Fenster wählen Sie „Menüband anpassen“, setzen einen Haken bei „Entwicklertools“ und bestätigen mit „OK“.
Excel - Datei Optionen
Excel - Entwicklertools aktivieren

Im Menü befindet sich nun der Reiter „Entwicklertools“. Dort können Sie ein Excel-Makro erstellen, indem Sie auf das entsprechende Feld klicken. Sobald Sie einen Namen eingeben und auf „Erstellen“ drücken, erscheint ein neues Modul im Visual Basic-Editor.

Excel - Makro anlegen
Excel - Makro benennen
Excel - Makro im Visual Basic Editor

Das Makro beginnt mit „Sub“ (kurz für „Subroutine“) und endet mit „End“. Alles, was dazwischen steht, wird ausgeführt, sobald Sie das Hallo-Makro aktivieren.

Ein Makro, das Sie besonders häufig nutzen, können Sie an die Symbolleiste anheften:

  1. Wählen Sie „Datei“ und „Optionen“.
  2. Im Dialogfeld klicken Sie auf „Symbolleiste für den Schnellzugriff“.
  3. Unter „Befehle auswählen“ stellen Sie „Makros“ ein und wählen den gewünschten Namen aus.
  4. Klicken Sie auf „Hinzufügen > >“, „Ändern“ und anschließend auf „OK“.
Excel - Makro Schnellzugriff

Sie möchten zum Beispiel aus den Informationen in bestimmten Zellen ein Diagramm mit VBA in Excel erstellen? Dann fügen Sie ein Makro hinzu und geben diesen Code ein:

„Dim meinDiagramm As ChartObject“

Fügen Sie ein Diagramm-Objekt, dessen Größe (Wert 1 und 2) sowie dessen Position (Wert 3 und 4) hinzu:

„Set meinDiagramm = ActiveSheet.ChartObjects.Add(100, 50, 300, 300)“

Anschließend legen Sie fest, was Sie mit dem Objekt vorhaben. Hier verwenden Sie die aktuelle Auswahl als Daten für das Diagramm:

„With meinDiagramm

.Chart.SetSourceData Source:=Selection

End With“

Das Ergebnis sieht anschließend folgendermaßen aus:

Excel - Diagramm

Excel Kurse

für Anfänger oder Fortgeschrittene und Excel online Kurse mit echtem Live Trainer.