Makros und VBA Eine kleine Einführung für Uneingeweihte
Makro
Ein Makro (Macro) wird allgemein als macroinstruction beschrieben, was auch immer das bedeuten mag. Vereinfacht ist es nichts anderes als ein Programmcode welcher eine immer wiederkehrende Aufgabe abarbeitet.
In den verschiedenen Office Anwendungen gibt es die Möglichkeit, Makros aufzuzeichnen, den Makrorekorder. Hier wird nichts anderes gemacht, als dass Ihre Aktionen in der Anwendung in Code umgewandelt werden, welchen Sie dann immer wieder aufrufen können.
Eines haben diese aufgezeichneten Makros immer gemeinsam: sie sind strohdumm.
Wenn Sie ein Makro aufzeichnen, welches immer wieder eine Axt auf einen Baumstumpf fallen lässt, wird dieses Makro das immer wieder tun, egal ob ein zu spaltendes Stück Holz da liegt oder ein Fabergé Ei.
Ein Makro ist nichts anderes als eine Ansammlung von Codezeilen (Anweisungen) welche hintereinander abgearbeitet werden. Es ist Programmierung. Ob diese nun von einem Makrorekorder kommt oder vom genialsten Programmierer der Welt persönlich eingetippt wurde, ist der Programmierung vollkommen egal. Und da sind wir schon bei der:
Programmiersprache
Eine Programmiersprache ist letztendlich nichts anderes, als eine Hilfe für den Programmierer, Anweisungen in für den Computer ausführbaren Code schreiben zu können, ohne in die Tiefen der 0 und 1 einsteigen zu müssen. Je weiter weg von 0 und 1, um so angenehmer für den Programmierer.
Eine Programmiersprache wird intern wieder von einem Programm in eine für den Computer lesbare Sprache übersetzt.
Es gibt sehr viel verschiedene Programmiersprachen und manchmal fragt man sich warum. Als hätte nicht schon ein Babylon genügt.
Manche Programmiersprachen sind für spezielle Zwecke ausgerichtet. Manche sind auch näher an der 0 und 1 und können dadurch für manche Anforderungen viel effizienter sein. Manche sind aber anscheinend einfach nur da, weil jemand Lust darauf hatte. Und manche sind einfach nur hilfreich.
Und schon sind wir bei
VBA
Das VB steht für VisualBasic. Eine Programmiersprache, wer hätte dies erwartet. VisualBasic ist m.E. eine der der am leichtesten zu erlernenden Programmiersprachen, weil sie mit klaren Worten und Strukturen arbeitet.
Deswegen wird sie von vielen Möchtegern Programmierern auch oft geringschätzig betrachtet, weil diese ihr rumgegurke lieber hinter irgendwelchen komplex aussehenden Strukturen verstecken. Aber darüber mehr in einem anderen Blog.
Und nun zu dem A welches für Application (Anwendung) steht. Und von diesen Anwendungen gibt es in der Microsoft Office Welt einige. Excel, Word, Outlook, usw.…
Während die Programmiersprache VisualBasic für alle Anwendungen gleich ist, d.h. wie man Schleifen programmiert, Bedingungen abfragt und vieles mehr, hat sie aber für jede Anwendung einen unterschiedlichen Zusatz im Gepäck, welcher sich um die speziellen Anforderungen der Anwendung kümmert oder besser gesagt um die Anwendung spezifischen Objekte:
In Excel gibt es Arbeitsblätter, Zellen, Diagramme, …
In Word Dokumente, Paragraphen, …
In Outlook gibt es Mails, Kontakte, Aufgaben …
Jetzt könnten Sie berechtigter Weise sagen, dass es in Word ja auch Zellen gibt, da Word Tabellen beinhaltet. Aber eine Zelle in Word ist ein ganz anderes Wesen als eine Zelle in Excel. Glauben Sie mir. Ich bezelle Sie nicht 😊
Und somit bringt “jede” Officeanwendung ihr eigenes VBA mit sich. Speziell auf die Bedürfnisse der herzallerliebsten Anwendung ausgerichtet. Ist dies nicht unglaublich nett!