• Keine Ergebnisse gefunden

2.1.1 Eine Beispieltabelle

Als Beispiel soll ein Makro aufgezeichnet werden, welches das Einfügen einer Zeile in eine bestehende Tabelle incl. dazugehöriger erforderlicher Formeln ermöglichen soll.

Die Tabelle soll der Verbuchung von Einnahmen und Ausgaben dienen. Für jede neue Eingabe soll eine neue Zeile erzeugt werden.

In der Abbildung wurden die benötigten Formeln sichtbar gemacht.

Das aufzuzeichnende Makro soll nun die folgenden Aufgaben erledigen:

• Eine neue Zeile einfügen (hier Zeile 3).

• In die Spalte E der neuen Zeile die Formel =D3/(1+C3) einfügen.

• In die Spalte G der neuen Zeile die Formel =F3/(1+C3) einfügen.

➨ ➨

Vor der Aufzeichnung eines Makros muß ein definierter Anfangszustand des Tabellenblattes hergestellt werden, beispielsweise eine bestimmte Zelle muß markiert werden. Die Kontextanforderungen sollten möglichst minimal sein.

Für das Beispiel gilt, daß der Cursor in einer Zeile stehen muß, über der eine neue Zeile eingefügt werden soll.

✘ ✘ ✘

Die aufzuzeichnenden Aktionen sollten vor der Aufzeichnung getestet werden, um unnötige Korrekturen im aufgezeichneten Makro zu vermeiden bzw. um nicht unnötig mehrfach aufzeichnen zu müssen.

Abbildung 1: Tabelle für die Makroaufzeichnung

2.1.2 Die Makroaufzeichnung

Die Makroaufzeichnung wird über die Funktionskombination EXTRAS / MAKRO / AUFZEICHNEN

aufgerufen. Alternativ kann der Schalter der Symbolleiste VISUAL BASIC benutzt werden (einzublenden über ANSICHT / SYMBOLLEISTEN / VISUAL BASIC).

Im nach dem Aufruf der Aufzeichnung erscheinenden Dialogfeld NEUES MAKRO AUFZEICHNEN

sind vor dem Start noch einige Angaben zum Makro zu tätigen:

• Der Makroname (hier N_Zeile), maximal 255 Zeichen lang. Der Name muß mit einem Buchstaben beginnen, Leerzeichen und Bindestriche sind nicht erlaubt. Umlaute im Namen sind zulässig.

• Eine Tastenkombination zum Starten des Makros (andere Startalternativen – siehe weiter im Text). Bei der Eingabe des Buchstabens N im obigen Beispiel wurde die Shift – Taste gedrückt gehalten, was die Tastenkombination Strg + Shift +N ergibt. Die Angabe der Start – Tastenkombination ist optional.

• Eine Makrobeschreibung – Information zur Funktion des Makros (optional).

• Die Makrozuordnung in der Dropdown-Liste MAKRO SPEICHERN IN:

soll ein Makro der Arbeitsmappe in der er aufgezeichnet wurde, zugeordnet werden, wird hier DIESE ARBEITSMAPPE gewählt, die Auswahl PERSÖNLICHE MAKRO-ARBEITSMAPPE

macht das Makro allgemeinverfügbar in allen Arbeitsmappen.

Nach dem Betätigen der Schaltfläche OK wird die Aufzeichnung gestartet. Ab dem Start werden alle Aktionen – Tastenanschläge, Menüauswahl, Anklicken eines Symbols vom Makrorekorder aufgezeichnet. In der Programmoberfläche erscheint die mit zwei Schaltflächen versehene Symbolleiste AUFZEICHNUNG:

Über die linke Schaltfläche kann die Aufzeichnung gestoppt werden, die rechte Schaltfläche bestimmt, wie die Positionierung des Zellcursors bei der Aufzeichnung interpretiert wird, z.B.

beim Wechsel von der Zelle A2 zur Zelle A4:

• als absoluter Bezug – gehe zur Zelle A4 (Schaltfläche deaktiviert)

• als relativer Bezug – gehe zur zweiten Zelle rechts von der aktiven (Schaltfläche ist aktiviert).

➨ ➨

Standardmäßig arbeitet der Makrorekorder mit absoluten Bezügen. Damit jedoch das aufzuzeichnende Makro Zeilen an beliebiger Stelle einfügen kann, ist es nötig für die Aufzeichnung die Nutzung der relativen Bezüge zu aktivieren.

Die Aufzeichnung läuft in den folgenden Schritten ab:

1. Damit nach der Ausführung des Makros eine Zelle in der Spalte A aktiv wird, ist eine Zelle dieser Spalte zu aktivieren und anschließend die Funktionskombination EINFÜGEN /

Abbildung 2: Makrodefinition

Makro aufzeichnen

2. Die Zelle der Spalte E der eingefügten Zeile aktivieren und die Formel (hier am Beispiel der Zeile 5) eingeben:

=D5 / (1+C5)

3. Die Zelle der Spalte G der eingefügten Zeile aktivieren und die Formel (hier am Beispiel der Zeile 5) eingeben:

=F5 / (1+C5)

4. Letzte Eingabe mit der ENTER – Taste bestätigen und die Aufzeichnung über die linke Schaltfläche der Symbolleiste AUFZEICHNUNG beenden.

2.1.3 Die Ausführung des Makros

➨ ➨

Die in diesem und den folgenden Unterkapiteln beschriebenen Techniken des Makroaufrufs gelten sowohl für aufgezeichnete Makros als auch insbesondere für manuell in der VBA – Entwicklungsumgebung programmierte VBA-Module.

Ein aufgezeichneter Makro kann über die Funktionskombination EXTRAS / MAKRO / MAKROS, die den MAKRO – Dialog öffnet,gestartet werden:

Das gewünschte Makro ist aus der Liste (hier nur ein Name) zu wählen und über die Schaltfläche AUSFÜHREN zu starten.

❢ ❢

Für die richtige Funktion des im Beispiel aufgezeichneten Makros ist es wichtig, daß vor dem Start die Markierung auf einer Zelle der Spalte A steht.

Das Ergebnis:

weist noch einige Unzulänglichkeiten insbesondere bezüglich der Formatierungen auf. Diese können vor der Aufzeichnung durchgeführt werden oder während der Aufzeichnung, womit die entsprechenden Anweisungen Bestandteil des Makros werden. Aus Gründen der Übersichtlichkeit wurde hier darauf verzichtet.

Abbildung 3: Makroaufruf

Abbildung 4: Tabelle nach mehrfacher Ausführung des Beispielmakros

<

< <

<

Zur Information:

Das aufgezeichnete Makro hat den folgenden Inhalt (Erklärung erfolgt weiter im Text):

Sub N_Zeile()

Selection.EntireRow.Insert ActiveCell.Offset(0, 4).Select

ActiveCell.FormulaR1C1 = "=RC[-1]/(1+RC[-2])"

ActiveCell.Offset(0, 2).Select

ActiveCell.FormulaR1C1 = "=RC[-1]/(1+RC[-4])"

ActiveCell.Offset(1, -2).Select End Sub

2.1.4 Verwaltung von Makros

Über das Dialogfeld aus Abbildung 3 wird die Makroverwaltung geregelt. Über die Schaltflächen ERSTELLEN und BEARBEITEN ist allerdings nicht der Makro – Recorder erreichbar, sondern die VBA – Entwicklungsumgebung, auf die weiter im Text eingegangen wird. In dieser Umgebung werden Makros durch direkte Programmierung erstellt.

✘ ✘ ✘

Aufgezeichnete Makros können allerdings über BEARBEITEN in der VBA – Umgebung auch nachbearbeitet werden. Durch die Aufzeichnung werden oft Anweisungen in die Makros übernommen, die für die volle Funktionsfähigkeit eines Makros nicht unbedingt benötigt werden und auf diesem Wege entfernt werden können. So sind beispielsweise aus dem obigen Makro einige Teile von Anweisungen gelöscht worden. Man zeichne den Makro testweise auf, um den Unterschied zu sehen.

Über die Schaltfläche LÖSCHEN können nicht benötigte Makros gelöscht werden – dazu Makro in der Liste markieren und die Schaltfläche anklicken.