1) Was ist VBA?

VBA steht für Visual Basic for Applications und ist eine Programmiersprache, mit der man sowohl Excel als auch die anderen Office-Programme steuern kann. Die VBA Programmierung bedeutet für Dich als Anwender eine effizientere Arbeitsweise. Durch die Programmiersprache werden Arbeitsabläufe von Microsoft Office Produkten automatisiert.

Abonniere, Daumen hoch und deine Fragen in die Comments 😉

2) Programme, die Du mit VBA steuern kannst

  • Microsoft Office Anwendungen, wie Microsoft Excel, Microsoft Word, Microsoft PowerPoint, Microsoft Outlook
  • Project, Publisher
  • Visio, Access

3) Für welche Zwecke kannst Du VBA verwenden?

  • Automatisierung von regelmäßigen Arbeitsschritten
  • Bau von Excel-Tools (z.B. Angebots- & Rechnungsgenerator, Projektmanagementtool usw.)
  • Daten, Tabellen, Diagramme zwischen Excel und den anderen Office-Programmen austauschen

4) Wann solltest Du VBA verwenden?

VBA-Code lässt sich schnell über den Makro-Rekorder produzieren und anpassen, jedoch solltest Du dich folgende Fragen stellen bevor Du Aufgaben mit VBA automatisierst:
  • Wie lange dauert die Aufgabe, wenn ich sie von Hand mit Excel erledige?
    Aufgaben, die auf Grund von wiederholenden Arbeitsschritten viel Zeit in Anspruch nehmen lassen sich häufig schneller mit VBA erledigen.
  • Ist es eine einmalige Aufgabe oder wiederholt sie sich? Wie häufig muss diese Aufgabe erledigt werden? 1x Woche / 1x pro Monat usw.?
    Gerade bei Routineaufgaben kann man potenziell viel Zeit einsparen.
  • Ist VBA überhaupt das richtige Tool, um diese Aufgabe zu automatisieren?
    Wenn es darum geht, Daten aus unterschiedlichen Quellen abzurufen und zu transformieren, dann ist Power-Query das bessere Tool. Für Echtzeitreports empfiehlt sich Power-BI und mit Microsoft Flow kann man z.B. Dateianhänge von E-Mails direkt in einem OneDrive Ordner ablegen. Um diese Frage zu beantworten, sollte man die anderen Excel Tools zu mindestens oberflächlich kennen. 

Wenn die Aufgabe viel Zeit kostet und eine Automatisierung mit VBA Sinn macht, stellt sich folgende Frage:

Eigene Programmierung oder Fremdbezug (Make or Buy)?

Einfache Projekte lassen sich häufig schnell selbst umsetzen. Bei komplexen und umfangreichen Projekten empfiehlt es sich einen externen Profi hinzuzunehmen. Wenn es um ein Excel-Tool für Standardaufgaben, wie z.B. Angebotserstellung geht, ist die Wahrscheinlichkeit groß, dass es bereits fertige Tools am Markt gibt. Diese Tools sind meist sehr günstig und ausgereift, daher sollte man bevor man ein neues Projekt in Angriff nimmt schauen, ob es nicht schon ein ähnliches Tool zum Kauf gibt.

5) Wie läuft die VBA-Programmierung in der Praxis ab?

Ein fertiges VBA Projekt kann man sich wie ein Puzzle mit vielen kleinen Puzzlesteine vorstellen. Jeder dieser Puzzlesteine führt eine bestimmte Operation aus z.B. Datei öffnen, neues Arbeitsblatt erstellen, Wert in Zellen schreiben, Datei speichern usw. 

VBA gibt es bereits seit Mitte der 90er Jahre, daher findest Du im Internet für jede erdenkliche Standardoperation fertige Code-Bausteine. Diese kann man sich zusammensuchen und daraus eine Lösung zusammenbauen. Um jedoch zu verstehen, was die Bausteine genau machen und um diese an Deine eigenen Bedürfnisse anzupassen, musst Du die VBA Grundlagen verstehen und in der Lage sein, VBA Code zu lesen.

6) Wie VBA Grundlagen am besten lernen?

Keine Sorge, Du musst nicht Hunderte von Befehlen, Code und Variablen auswendig lernen. Es reicht für den Anfang, wenn Du VBA-Code lesen und kleinere Befehle und Anpassungen durchführen kannst. 

Der erste Schritt ist häufig sich einzelne Videos auf YouTube anzuschauen, diese befassen sich jedoch nur mit einem kleinen Teilaspekt von VBA Programmierung und bauen nicht aufeinander auf. Zudem kann man anfangs nicht unterscheiden, welche Videos relevant sind und was man in der Praxis wahrscheinlich nie brauchen wird. Daher empfehle ich Dir, die Grundlagen mit Hilfe meines Excel Online Kurs zu lernen. Dieser ist strukturiert und zielt darauf ab, Dich in kürzester Zeit mit der Anwendung vertraut zu machen.

Mit diesem Fundament kannst Du dann erst richtig die VBA Dokumentation von Microsoft verstehen und auch Excel Blogs und YouTube-Videos zum Thema heranziehen. Foren eigenen sich nur für konkrete Fragestellungen, nicht um einen Einblick in VBA zu bekommen.

7) VBA Programmierung - Grundlagen: Excel Objektmodell vs VBA

Abonniere, Daumen hoch und deine Fragen in die Comments 😉

Bei Excel sind damit z.B. die Zellen, Arbeitsblätter, Arbeitsmappen, Diagramme, Tabellen usw. gemeint. Diese Objekte existieren nicht alleine für sich, sondern hängen in einer Hierarchie zusammen. Ohne eine Arbeitsmappe und ein Arbeitsblatt hätten wir z.B. keine Zellen, die wir ansprechen können. Alle verfügbaren Objekte und wie diese voneinander abhängen, nennt man Objektmodell. Das Objektmodell ist je nach Applikation verschieden, bei PowerPoint hätten wir z.B. Präsentationen und Folien-Objekte. 

Diese Objekte haben Methoden und Eigenschaften. Über die Eigenschaften, wie z.B. Größe, Name, Position, Farbe, Schriftart können die Objekte verändert werden. Mit Methoden, also bestimmte Handlungen, können Objekte z.B. erstellt, gelöscht und selektiert werden.

Neben diesen Objekten gibt es aber auch einen allgemeinen Teil, der unabhängig vom Programm ist. Dies ist die Skriptsprache Visual Basic for Applications (VBA), also Visual Basic für unterschiedliche Applikationen. Hierbei sind dann z.B. die Variablen, Schleifen, Wenn-Dann Konstruktionen usw. gemeint.

Man kann sich die verschiedenen Objektmodelle auch als unterschiedliche Schrauben vorstellen und VBA als Schraubenschlüssel, mit dem man die verschiedenen Schrauben dreht.

Mehr zum Excel Objektmodell findest Du hier.

Muss ich Vorwissen in Programmierung haben, um VBA lernen zu können?

Nein. Wie bei allem im Leben muss man sich auch das erarbeiten. Hier ist die richtige Struktur wichtig, um die Funktionen richtig und einfach zu erlernen. Ich empfehle dir meinen Excel Kurs, in dem ich dir das Programmieren sinnvoll und praxisnah erklärte, damit du in bestimmten Situationen die richtigen Befehle kennst.

Bringt es mir etwas meine Aufgaben durch Excel VBA Programmierung zu automatisieren?

Das kommt sehr auf die Art von Aufgabe an, die du ausführen möchtest. Nimmt die Aufgabe viel Zeit in Anspruch, da sie entweder sehr häufig ausgeübt werden soll, oder selten ausgeübt wird aber lange dauert, dann lohnt es sich wahrscheinlich, diese Funktionen zu automatisieren. Wird die Aufgabe eher selten ausgeführt, dann mache sie am besten händisch. Makros helfen, wenn man sie bewusst einsetzt, um die Bearbeitung deiner Daten durch mit Hilfe von Programmen zu verbessern.

Ist Excel VBA notwenig, um meine Projekte zu vervollständigen?

Nein, es hilft dir lediglich bei der Effizienz!