Wie am Fließband: Makros in LDW Power Calc 2.0

Tabellenkalkulationen sind mächtige Arbeitswerkzeuge. Mit Makros erledigen sie komplizierte Rechenvorgänge fast automatisch und sehr einfach.

Der große Vorteil von Tabellenkalkulationen: ihre Flexibilität. Arbeitsblätter lösen die unterschiedlichsten Anwendungsprobleme. Dazu sind nicht einmal spezielle Programmierkenntnisse erforderlich. Wenige Funktionen genügen, um beispielsweise die Summe der Krankheitstage aller Mitarbeiter einer Firma aus einer Tabelle zu berechnen. Auch für den Vergleich mehrerer Sparverträge mit unterschiedlichen Zinsvarianten genügt geringes Grundwissen über den Aufbau eines elektronischen Arbeitsblattes. »LDW Power Calc 2.0« stellt alle diese Funktionen zur Verfügung und ist außerdem zu »Lotus 1-2-3, Version 2« kompatibel, sodaß der Anwender auf eine Menge vorhandener Literatur zurückgreifen kann.

Arbeitet man häufiger mit einem Arbeitsblatt, dann muß man bestimmte Tasten immer wieder in der gleichen Reihenfolge drücken, oder bestimmte Aktionen mit der Maus mehrfach in der gleichen Abfolge aufrufen. Für solche Fälle gibt es in LDW sogenannte Makros. Sie ersetzen eine Reihe von Tastenanschlägen oder Mausaktionen durch einen einzigen Tastendruck. Ein Makro ist eine Folge von aufgezeichneten Tastendrücken und Steuerzeichen. Das Makro steht als Labeleintrag in Zellen des Arbeitsblattes. Er unterscheidet sich dadurch auf den ersten Blick nicht von anderen Texten und Daten. Erst wenn man das Makro startet, dann erkennt LDW es als solches und führt alle Anweisungen aus.

Programmierung

LDW bietet zwei Wege der Makroprogrammierung. Der erste ist der Makro-Rekorder, den man unter dem Makro-Menü erreicht, und der nach seinem Start alle Aktionen aufzeichnet. Die zweite besteht darin, die einzelnen Tastennamen und Befehle direkt als Label in eine Zelle einzugeben. Mit dem Rekorder aufgezeichnete Makros lassen sich nachträglich wie andere Texte auch im Ändern-Modus bearbeiten.

Makro-Rekorder

Den Makro-Rekorder startet man mit »Makro Beginn« oder Alt F3. Danach zeichnet LDW jeden Tastendruck und jede Mausaktion auf. Rufen Sie nach dem Erscheinen der »MREC«-Anzeige beispielsweise den Befehl »Arbeitsblatt Spalte bestimmen« auf, geben Sie »12« als Breite ein und drücken Sie zweimal Return. Mit »Makro Ende« oder Alt F4 endet die Aufzeichnung und es erscheint die Aufforderung, eine Zelle zum Speichern des Makros anzugeben. Geben Sie beispielsweise »ABI 01« an und bestätigen Sie die Eingabe mit Return. Anschließend erwartet das Programm die Eingabe eines Namens. Dieser Name darf bis zu 14 Zeichen lang sein. Tippen Sie zum Beispiel »Spalte« ein. Die Namen verschiedener Makros sollten sich möglichst im ersten Buchstaben unterscheiden, damit man alle über die Tastatur aufrufen kann.

Nach dem Betätigen von Return speichert LDW das Makro in der angegebenen Zelle als Text. Wenn Sie das oben beschriebene Beispiel nachvollzogen haben, dann finden Sie in der Zelle ABI 01 den Text »/ ASB12~~«. Die Bedeutung der Zeichen ist im einzelnen:

/=Menüaufruf, A=Arbeitsblatt, S=Spalte, B=Be stimmen, 12=Breite der Spalte, ~=Return.

Setzen Sie nun den Zellzeiger auf eine Spalte, die nicht die Breite 12 hat, etwa auf D3. Mit dem Befehl »Makro spielen« zeigt das Programm die Namen der vorhandenen Makros zur Auswahl. Klicken Sie das gewünschte Makro, in unserem Beispiel »Spalte«, an und drücken Return. Stattdessen können Sie auch Alt S (erster Buchstabe des Makronamens »Spalte«) drücken. LDW führt jetzt der Reihe nach die Befehle aus und setzt die aktuelle Spaltenbreite auf »12«.

Direkte Makro-Eingabe

Flexible Makros, die bei jedem Ablauf unterschiedliche Eingaben wie Bereichsangaben oder Namen abfragen sollen, lassen sich mit dem Makro-Rekorder nicht direkt erzeugen. Man realisiert solche Makros durch die Eingabe per Tastatur als Label in dem Arbeitsblatt. Das folgende Makro gibt der aktuellen Zelle einen Namen und notiert diesen Namen in der Zelle links davon.

Geben Sie ab der Zelle AB103 den Text ein, wie er in Bild 2 zu sehen ist.

In der dritten und vierten Zeile haben Sie sicher bemerkt, daß Sie zu Beginn einen Label-Präfix ('," oder A) eingeben müssen. Ansonsten interpretiert LDW den Backslash (/) als Wiederholungszeichen. Außerdem sehen Sie, daß man Makrotexte untereinander notieren kann. Beim Abarbeiten des Makros fährt LDW-Power solange in der nächsten Zeile fort, bis diese leer ist oder der Befehl {Stop} erscheint. Man kann zwar bis zu 240 Zeichen in eine Zelle eingeben, es ist jedoch übersichtlicher, kurze Zeilen untereinander zu schreiben.

Damit das Makro lauffähig ist, benötigt die erste Zelle (hier ABI03) einen Namen. Der Name muß einen Backslash () als erstes Zeichen haben, dem möglichst nur ein Buchstabe folgt. Der Aufruf des Makros erfolgt dann durch Alt Buchstabe. Der Makro-Rekorder setzt den Backslash übrigens automatisch. Setzen Sie den Zellzeiger in die Zelle links vom Makrobeginn, also in AA103. Geben Sie den Namen ein, etwa '\N, wobei Sie den Label-Präfix nicht vergessen. Rufen Sie nun den Befehl »Bereich Name Benennen Rechts« auf. Nach Bestätigung mit Return steht das Makro zur Verfügung läßt sich mit Alt N aufrufen. Es ersetzt die gerade eben beschriebene Befehlsfolge. Die Befehle bedeuten im einzelnen:

{Links} = Zellzeiger 1 nach links /BNEhilfe~~ = aktuelle Zelle erhält den Namen
"hilfe"
{Labeleintrag "Name: ";hilfe} = In der Eingabezeile erscheint die Aufforderung "Name:"; die Eingabe wird in der Zelle "hilfe" eingetragen
/BNBR~ = Den eingegebenen Namen an die Zelle vergeben, auf der der Zellzeiger beim Start des Makros stand
/BNLhilfe~ = Name "hilfe" löschen
{Stop} = Ende des Makros

Zum Abschluß noch das Makro für den Kopf einer mehrfach benötigten Tabelle (Bild 1). Jeweils unterschiedlich sind die Abteilung, der Name des Abteilungsleiters und das Entstehungsjahr. Alle anderen Eintragungen wie Spaltennamen etc. sind in allen Tabellen gleich. Schalten sie zunächst mit Alt F3 den Makro-Rekorder ein und tippen dann folgende Zeilen ein. Dabei bedeuten »rechts«, »links« und »unten« die Cursortasten. Die Tilde steht für Return.

PERSONALLISTE{Unten} ABTEILUNG:{Rechts}{?}{Rechts}
ABT. LEITER:{Rechts}{?}
{Unten}{Links}{Links}{Links}
ERST. JAHR:{Rechts}{?}{Unten}
{Links}-~/K~{Rechts}.{Rechts}
{Rechts}{Rechts}~{Unten}
NAME{Rechts}VORNAME{Rechts}
GEBURTSDAT.{Rechts}
URLAUBSTAGE{Rechts}
KRANKHEITSTAGE~

Schalten Sie jetzt mit Alt F4 den Makro-Rekorder wieder aus, geben beispielsweise die Zelle »AB108« als Ort an, drücken Return, benennen das Makro mit »Tabelle« und drücken nochmals Return. Fertig. Mit Alt T rufen Sie das Makro auf.

Beim Ablauf erscheinen die Fragezeichen auf dem Bildschirm. Mit F5, F3 und der Auswahl von »Tabelle« gelangen Sie an den Anfang des Makros. Schalten Sie mit F2 den Ändern-Modus ein und setzen vor und nach jedem Fragezeichen eine geschweifte Klammer auf beziehungsweise zu. Mit Return schließen Sie die Änderung ab und gelangen mit CLR Home wieder zur Zelle A1. Löschen Sie den Bereich A1..G10 und starten das Makro erneut. Bei jedem Fragezeichen im Makrotext ist nun die Ausführung gestoppt, und Sie können eine Eingabe in der entsprechender Zelle vornehmen. Die Breite der einzelnen Spalten läßt sich bequem mit dem zuvor eingegebenen Makro »SPALTE« einstellen. Ändern Sie dazu die 12 im Makrotext um in {?}.

So, das war es zunächst zum Thema Makros. In einer der nächsten Ausgaben beschäftigen wir uns mit der Verwendung von Makros als Unterprogramme in neuen Makros. (wk)

Bild 1. Ein Makro erzeugt diese Tabelle und erwartet während des Ablaufs Eingaben der jeweils aktuellen Daten
Bild 2. Dieses kurze Makro verändert die Spaltenbreite

Gert Schneider
Aus: TOS 09 / 1991, Seite 64

Links

Copyright-Bestimmungen: siehe Über diese Seite