Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CenterHeader = Range("B151") - Dynamisch?

CenterHeader = Range("B151") - Dynamisch?
27.05.2018 16:29:34
Steven
Habe in meinem Sheet Drucktitel festgelegt, so dass pro Seite nur eine Zeile gedruckt wird (Druckbereicht festgelegt - Blatt aber gefüllt mit constanten Daten von oben, bis zu dieser Zeile, die noch auf dien Seiten Ausdruck passt und sich jede Seite ändert.
Nun habe ich im Workbook_BeforePrint alles festgelegt, möchte im CenterHeader = Range("B151") auf diese Zeile verweisen. Das klappt natürlich, leider kommt da auf allen Seiten Ausdrucken jedoch der Zellinhalt der ersten Seite von Zelle "B151". Dieser Wert ist auf jeder Seite natürlich ein anderer...
Kann ich den irgendwie in die Kopfzeile bekommen?
Danke für Euren Input im voraus...

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CenterHeader = Range("B151") - Dynamisch?
27.05.2018 16:39:01
Hajo_Zi
Drucke jede Seite einzeln und passe die Zelle an.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: CenterHeader = Range("B151") - Dynamisch?
27.05.2018 16:47:08
Steven
Danke Hajo für das schnelle Feedback,
mein Makro speichert eine PDF-Datei mit Zeitstempel. Das ergibt bis zu 100 A4 Seiten im Querformat, wie gesagt, nur die unterste Zeile ändert sich auf jeder Seite.
Aber auch wenn ich in Seitenansicht gehe, also ohne das Makro zur PDF Erstellung laufen zu lassen, sehe ich eine Seite nach der anderen, in der untersten Zeile ist der Wert in "B151" immer ein anderer, aber in der Kopfzeile ist auf jeder Seite der Wert der ersten Seite...
Auch wenn ich auf dem normalen Seitenbereich (nicht in Kopfzeile) auf =B151 verweise, erscheint im Ausdruck nur der Wert der ersten Seite und das auf allen Seiten...
Anzeige
AW: CenterHeader = Range("B151") - Dynamisch?
27.05.2018 17:49:32
Steven
https://www.herber.de/bbs/user/121849.xlsm
Habe eine Beispiel Datei hochgeladen, die Kopfzeile zeigt nur den Wert der ersten Seite von B151, kann man das irgendwie so ändern, dass in der Kopfzeile der jeweilige Wert von B151 der jeweiligen Seite steht, vielen Dank für Eure Ideen.
AW: CenterHeader = Range("B151") - Dynamisch?
30.05.2018 21:22:15
Robert
Hallo Steven,
der Wert der Zelle B151 bleibt ja immer gleich, egal welche Seite Du druckst. Du hättest wohl gerne auf der ersten Seite den Wert aus B151, auf der zweiten Seite den Wert aus B152 usw. Das wird mit den Kopfzeilen wahrscheinlich nicht gehen.
Als Workarround habe ich mal auf die Schnelle nachstehende Datei erstellt. Mit dem Makro "DruckVorbereiten" werden die Daten von der Tabelle1 in ein Tabellenblatt "Druck" kopiert und dort so aufbereitet, dass der gewünschte Ausdruck zustande kommt. Dieses Blatt muss dann nur noch ausgedruckt werden. Eventuell musst Du noch etwas die Formatierungen (z. B. Zeilenhöhe der Zeile 1 und 2) anpassen. Schau es Dir mal an.
https://www.herber.de/bbs/user/121895.xlsm
Gruß
Robert
Anzeige
AW: CenterHeader = Range("B151") - Dynamisch?
31.05.2018 05:57:21
Steven
Lieber Robert,
erst mal besten Dank für das Feedback und Deine Arbeit. Das Makro konnte ich noch nicht testen, weil ich gerade auf Reisen bin, sieht aber sehr gut aus und wird wohl auch so den Zweck erfüllen. DU/SIE hast/haben richtig vermutet, nur ist es etwas komplexer, d.h. ich habe ein funktionierendes Makro mit einer Tabelle, wo von x-Zeile 150 der obere Bereich als Titel fungiert, bis zu 100 Blätter entstehen mit dem Makro aber nicht Richtung Drucker sondern als eine PDF-Datei. In der Zelle B151 entsteht jeweils 1 Seite, also bis zu 100 Seiten und immer steht in B151 ein anderer Name, weil der aber sehr klein ist, wollte ich diesen noch oben platzieren. Das muss nicht in der Kopfzeile sein, ich kann das auch in eine normale Zelle platzieren, leider zeigen meine Bemühungen aber auf jeder Seite nur den Inhalt B151 der ersten Seite, obwohl natürlich auf jeder PDF-Seite ein anderer Wert in B151 steht.
Ich sende gern auch das Makro, vor weiteren Bemühungen, nur leider komme ich da noch nicht ran, wie gesagt bin unterwegs, kann ein paar Tage dauern, dann würde ich mich gern nochmals melden. Bisher nur Danke und kurze Zwischenmeldung zum Verständnis.
Gruß
Steven
Anzeige
AW: CenterHeader = Range("B151") - Dynamisch?
31.05.2018 09:00:36
Robert
Hallo Steven,
Du schreibst "In der Zelle B151 entsteht jeweils 1 Seite, also bis zu 100 Seiten und immer steht in B151 ein anderer Name, ..." und "... leider zeigen meine Bemühungen aber auf jeder Seite nur den Inhalt B151 der ersten Seite, obwohl natürlich auf jeder PDF-Seite ein anderer Wert in B151 steht.".
Das ist so nicht richtig. Auf der ersten Seite werden bei Deiner Datei die Drucktitel-Zeilen und die Zeile 151 gedruckt, auf der zweiten Seite dann neben den Drucktitel-Zeilen die Zeile 152, auf der dritten Seite dann neben den Drucktitel-Zeilen die Zeile 153 usw. Mit Deinem Makro zu Änderung der Kopfzeile beziehst hast Du Dich aber immer auf die Zelle B151, und deren Wert bleibt immer gleich. Unterschiedliche Kopfzeilen für jede Seite eines Ausdrucks können in Excel meines Wissens nicht erstellt werden. Dabei ist es unerheblich, ob die Seiten auf Papier gedruckt werden oder mit einem PDF-Drucker eine PDF-Datei erstellt wird.
Gruß
Robert
Anzeige
AW: CenterHeader = Range("B151") - Dynamisch?
31.05.2018 09:51:54
Steven
Hallo Robert,
Danke für die Antwort, ich habe mich vielleicht blöd ausgedrückt. in B151 ändern sich auf jeden Blatt die Namen/Werte, so wie es sein soll. Leider ist ist das da unten (Seiten im Querformat) sehr klein und ich wollte den Wert aus B151, B152, usw. jeweils der da unten steht größer oben platzieren, Kopfzeile fällt da aus, leuchtet mir jetzt auch ein. Aber könnte ich nicht auf den Wert verweisen. Da jedes Blatt aber eigentlich nur aus einer Zeile 151 besteht und alles obere fixiert ist als oberer Druckbereich, habe ich ja auch keine einzelnen Seiten, wo ich jeweis auf B151, B152 usw. mit = verweisen könnte.
Gruß
Steven
Anzeige
AW: CenterHeader = Range("B151") - Dynamisch?
31.05.2018 10:50:00
Robert
Hallo Steven,
nochmal: Die Werte in B151 ändern sich nicht. Du hast nur eine Exceltabelle. Die Zeile 151 wird auch nur auf der ersten Seite gedruckt, danach die Zeile 152, 153 usw. Oben in der Tabelle im Drucktitel kannst Du auf z.B. B151 verweisen. Dieser Verweis ändert sich aber nicht, wenn Du die 2., 3. oder die 100. Seite dieser Tabelle druckst. Du verweist ja auf die Zelle B151 der Excel-Tabelle und nicht auf eine Zeile 151 des Ausdrucks.
Es sei denn, Du erstellst für jede Seite einen eigenen Druckauftrag/eigene PDF-Datei. Dann könnte man diesen Verweis in einem Makro vor dem Ausdruck anpassen. Das wäre dann aber auch mit der Kopfzeile gegangen. Aber ich vermute, Du willst keine 100 einzelne PDF-Dateien.
Gruß
Robert
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige