30.09.2013 Aufrufe

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!