![]() |
||
![]() |
Seitenwechsel und Zwischensummen per Makro ermittelnSie arbeiten mit einer längeren Kalkulationstabelle. Dort möchten Sie die Seitenwechsel für den Ausdruck ermitteln und für die einzelnen Druckseiten eine Teilsumme berechnen. Die Tabelle soll dabei aber flexibel bleiben und auch nach dem Einfügen von Daten oder Änderungen der Formatierung wieder die aktuellen Summen auf der gedruckten Seite ausweisen. Hauptaufgabe ist zunächst, die Seitenumbrüche automatisch mit einem Makro zu bestimmen. Bei bekannten Seitenumbrüchen können Sie dann die Summenbildung recht einfach ergänzen.
Und so arbeitet das Listing: Nach der Definition der nötigen Variablen ermittelt das Makro die Zahl der vorhandenen Seitenwechsel und speichert sie in der Variablen »Anzahl«. Falls die Tabelle noch keinen Umbruch hat, weist das Makro einer Zelle am Tabellenende temporär einen Wert zu und ermittelt den ersten Seitenumbruch. Die nächste Schleife bestimmt die Zeilennummern aller Seitenumbrüche der Tabelle und speichert Sie im Feld »Zeile«. Eine weitere Schleife durchläuft alle gefundenen Umbrüche, um dort die Teilsummen für die einzelnen Seiten einzufügen. In unserem Beispiel benutzt das Makro die fünfte Spalte (E) der jeweils letzten Zeile auf einer Seite. Der folgende Befehl setzt aus der vorhergehenden und der aktuellen Zeilennummer des Seitenwechsels den Summenbefehl zusammen und speichert ihn in der Variablen »XStr«. Im nächsten Schritt schreibt das Makro diese Formel in die aktive Zelle. Die Summenberechnung erfolgt in der Schleife für sämtliche Seitenwechsel. Mit »Selection.EntireRow.Insert« können Sie für die Summenberechnung auch eine neue Zeile am Seitenende einfügen. Die Gefahr dabei: Die Tabelle wird bei wiederholter Ausführung der Makros durch Leerzeilen zerstückelt. |
![]() |