Das verstehe ich jetzt ehrlich gesagt nicht
zu:
Warum beispielsweise belegst Du nicht E1 mit einer Gültigkeitsprüfung und übergibst eine Liste aller möglichen Kalenderwochen und läßt die Auswahliste anzeigen und läßt dann F1 und folgende Zellen mittels Formeln berechen?
Du nimmst eine Zelle und richtest eine Gültigkeitsprüfung ein mit Vorgabe einer Liste mit den Einträgen 1. Woche 2008 bis 52. Woche 2008 (oder noch weitere Wochen/Jahre) und kannst dfann auswählen und mittels Formeln die Anzeige der Wochen in den Zelle wo derzeitig statische Wochennummer stehen (Zeile 4 in Deiner Datei) berechnen, ginge prima wenn es stimmen würde das:
Aber der Spalte E beginnen die besagten Kalenderwochen. Diese enthalten in der Tabelle selbst keine Daten und werden auch nie welche enthalen.
was ja nun ganz offensichtrlich nicht stimmt - oder sind die "X" in der Beispieldatei etwa keine Daten?
Außerdem gibt es oberhalb der Wochennummernzellen zusammengefasste Zellen wovon mir auch nichts bekannt war
zu:
Oder warum verwendest Du kein Makro was vor dem Drucken den Druckbereich anpasst?
So wie es dasteht, starte ein Makro bevor Du mit dem Drucken beginnst, was den Druckbereich anpasst, praktischerweise starte also ein Makro was in einem Abwasch den Druckbereich anpasst und druckt, meinethalben über eine Schaltfläche in der Tabelle. Das Makro kannst Du aufzeichnen, bei mir gibt das:
Code: Alles auswählen
sub Main()
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1() as new com.sun.star.beans.PropertyValue
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "PrintArea"
args2(0).Value = "$A$1:$Z$53"
args2(1).Name = "PrintRepeatRow"
args2(1).Value = ""
args2(2).Name = "PrintRepeatCol"
args2(2).Value = ""
dispatcher.executeDispatch(document, ".uno:ChangePrintArea", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub
Und wenn Du jetzt drucken willst starte das Makro und es wird immer der Druckbereich $A$1:$Z$53 verwendet, egal was Du vorher an Spalten gelöscht oder sonst noch getan hast.
Gruß
Stephan