In diesem Abschnitt betrachten wir, was VBA ist, da Makros darauf geschrieben werden.
VBA ist eine eingebettete Programmiersprache (steht für Visual Basic for Applications), die von Microsoft entwickelt wurde. Diese Sprache ist nicht unabhängig, sondern nur zur Automatisierung von Prozessen im MS Office-Paket gedacht. VBA wird häufig in Excel sowie in Access, Word und anderen Programmen im Paket verwendet.
VBA ist eine einfache Programmiersprache, die jeder lernen kann. Sobald Sie es gelernt haben, können Sie Excel-Befehle erteilen, mit Spalten, Zeilen und Zellwerten umgehen, Arbeitsblätter verschieben/hinzufügen/sortieren, vorprogrammierte Nachrichten anzeigen, eigene Formeln und Funktionen schreiben und vieles mehr. Der Kern der Sprache besteht darin, Objekte zu bearbeiten.
Um mit dem VBA-Code arbeiten zu können, benötigen wir einen Editor (Visual Basic Editor), der bereits standardmäßig in Excel installiert ist. Sie können es öffnen, indem Sie die Tastenkombination „Alt+F11“ drücken.
Lassen Sie uns verstehen, was ein Objekt in VBA ist.
VBA Ein Objekt ist ein Element, ein Strukturpartikel Excel, nämlich: Buch, Blatt, Bereich, Zelle.
VBA-Objekte haben eine Hierarchie, das heißt, sie sind einander untergeordnet. Schematisch lässt sich die Hierarchiestruktur in Excel wie folgt darstellen:
Das wichtigste Objekt ist Application, das dem Programm Excel selbst entspricht. Als nächstes kommt Workbook (Buch), Worksheet (Blatt), Range (Bereich oder einzelne Zelle).
Um beispielsweise auf die Zelle „A1“ im Arbeitsblatt zu verweisen, müssten wir unter Berücksichtigung der Hierarchie den folgenden Pfad schreiben:
Application.Workbooks("Archive").Worksheets("Sheet1").Range("A1")
So haben wir gelernt, auf das kleinste Objekt in Excel zu verweisen – eine Zelle.
VBA-Objekte gehören wiederum zu „Sammlungen“.
VBA Eine Sammlung ist eine Gruppe (Array) von Objekten derselben Klasse (eine Reihe von Büchern, Blättern usw.). Ja, alle Worksheet-Objekte sind Elemente der Worksheets-Sammlung. Die Sammlung wiederum ist auch ein Objekt.
Dieselben Objekte können zu mehreren Sammlungen gehören. Beispielsweise gehören auch Worksheet-Objekte zur Sheets-Sammlung. Die Sheets-Sammlung enthält alle Blätter, die sich in der Arbeitsmappe befinden – sowohl Diagramme, die auch als Blätter betrachtet werden (Chart), als auch Datenblätter (Worksheet).
Die folgenden Sammlungen existieren in VBA Excel:
Jedes Objekt in VBA verfügt über Eigenschaften. Beispielsweise verfügt ein Range-Objekt über die Eigenschaft Value oder Formula.
Worksheets("Sheet1").Range("A1").Value oder Worksheets("Sheet1").Range("A1").Formula
In diesem Beispiel zeigt die Eigenschaft den in die Zelle eingegebenen Wert oder die eingegebene Formel an.
Außerdem können Sie über die Eigenschaft Formula die Formel nicht nur abrufen, sondern auch aufschreiben:
MsgBox Range("A1").Formula – wir erhalten eine Nachricht mit der Formel in Zelle „A1“;
Range("B12").Formula = "=2+6*100" - Geben Sie die Formel "=2+6*100" in Zelle "B12" ein.
Sehen wir uns nun an, wie wir den Inhalt eines Bereichs oder einer Zelle manipulieren können. Hierfür gibt es in VBA sogenannte Methoden („what to do“-Befehle). Beim Schreiben von Code werden Methoden durch einen Punkt vom Objekt getrennt, zum Beispiel:
Range("A1").Select oder Cells(1,1).Select
Diese Methode gibt an, die Zelle „A1“ auszuwählen (Select).
Als nächstes löschen wir den Wert in dieser Zelle. Dazu schreiben wir den folgenden Code.
Selection.ClearContents
Hier „nimmt“ das Programm, was wir ausgewählt haben (Selection) und löscht seinen Inhalt (ClearContents).