VBA – Programmierung mit Excel Grundlagen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Das erste <strong>Excel</strong>-Programm <strong>–</strong> ein aufgezeichnetes Makro<br />
2 Das erste <strong>Excel</strong>-Programm <strong>–</strong> ein aufgezeichnetes Makro<br />
EXCEL verfügt, wie alle anderen Office-Programme, über einen Makro - Recorder, <strong>mit</strong> dem<br />
sich Aktionen innerhalb der Tabellenblätter oder Arbeitsmappen aufzeichnen lassen. Die<br />
dabei entstehenden Makros sind eine Vorstufe der <strong>VBA</strong> - Programme. Sie werden vom<br />
Recorder in den <strong>VBA</strong> <strong>–</strong> Code umgesetzt und können nachträglich beliebig erweitert werden.<br />
In vielen Fällen ist ein aufgezeichnetes Makro ein Grundgerüst für ein <strong>VBA</strong> <strong>–</strong> Programm oder<br />
liefert Teillösungen für ein solches.<br />
Aufgezeichnete Makros stoßen jedoch recht schnell an ihre Grenzen, z.B.:<br />
• Es lassen sich keine Schleifen verwenden, die eine mehrfache Ausführung einer Aktion<br />
erlauben.<br />
• An Bedingungen gebundene Sicherheitsabfragen lassen sich beim Aufzeichnen nicht per<br />
Mausklick definieren, was dazu führt, daß vor dem Start des Makros alle notwendigen<br />
Vorkehrungen getroffen werden müssen, welche den korrekten Ablauf garantieren, z.B.<br />
die richtige Zelle markiert oder den Cursor richtig positioniert.<br />
• Der Automatisierungsgrad eines Makros ist sehr gering, da i.d.R. nur seriell ablaufende<br />
Prozesse aufgezeichnet werden.<br />
Ein aufgezeichnetes Makro ist da<strong>mit</strong> ein recht nützliches Werkzeug, welches jedoch nur eine<br />
Teilautomatisierung von Abläufen gestattet, die „Vollautomatik“ muß programmiert werden.<br />
2.1 Makro aufzeichnen<br />
2.1.1 Eine Beispieltabelle<br />
Als Beispiel soll ein Makro aufgezeichnet werden, welches das Einfügen einer Zeile in eine<br />
bestehende Tabelle incl. dazugehöriger erforderlicher Formeln ermöglichen soll.<br />
Die Tabelle soll der Verbuchung von Einnahmen und Ausgaben dienen. Für jede neue<br />
Eingabe soll eine neue Zeile erzeugt werden.<br />
Abbildung 1: Tabelle für die Makroaufzeichnung<br />
In der Abbildung wurden die benötigten Formeln sichtbar gemacht.<br />
Das aufzuzeichnende Makro soll nun die folgenden Aufgaben erledigen:<br />
• Eine neue Zeile einfügen (hier Zeile 3).<br />
• In die Spalte E der neuen Zeile die Formel =D3/(1+C3) einfügen.<br />
• In die Spalte G der neuen Zeile die Formel =F3/(1+C3) einfügen.<br />
➨ Vor der Aufzeichnung eines Makros muß ein definierter Anfangszustand des<br />
Tabellenblattes hergestellt werden, beispielsweise eine bestimmte Zelle muß markiert<br />
werden. Die Kontextanforderungen sollten möglichst minimal sein.<br />
Für das Beispiel gilt, daß der Cursor in einer Zeile stehen muß, über der eine neue Zeile<br />
eingefügt werden soll.<br />
✘ Die aufzuzeichnenden Aktionen sollten vor der Aufzeichnung getestet werden, um<br />
unnötige Korrekturen im aufgezeichneten Makro zu vermeiden bzw. um nicht unnötig<br />
mehrfach aufzeichnen zu müssen.<br />
Seite 9