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. 

Abonniere, Daumen hoch und deine Fragen in die Comments 😉

2) Programme, die du mit VBA Steuern kannst

  • Excel, Word, PowerPoint, 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 Emails 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:

  • Eigenfertigung 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 Puzzlesteinen 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 auswendig lernen. Es reicht für den Anfang, wenn du VBA-Code zu lesen und kleinere 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 und bauen nicht auf einander 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 VBA 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-Grundlagen: Excel Objektmodell vs VBA

Excel und auch die anderen Office-Programme bestehen aus Objekten, die wir ansteuern und manipulieren können. 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. 

Abonniere, Daumen hoch und deine Fragen in die Comments 😉