Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1368to1372
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

Kopf- und Fusszeile abgetrennt durch eine Linie

Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 19:22:46
Tobias
Hallo Zusammen
Ich bin daran eine Ecxelvorlage zu entwerfen in welcher die Kopf und Fusszeile komplett mit VBA ausgefüllt wird. Die Vorlage sollte für A3 und A4 hoch und quer gehen. Die Kopf- und Fusszeile sollen vom Dokumententext durch eine Linie getrennt werden. VBA ist deshalb nötig weil wir ein paar Metadaten direkt von unserem IMS (Intregierten Management System) in die Excel Vorlage einlesen möchten.
Untenstehend findest du ein Bild von der Momentanen Excelvorlage:
Userbild
Die Abtrennlinie ist momentan mit Hilfe eines eingebunden Linienbild gelöst. Diese Variante löst folgende Probleme aus:
- Bild muss seperat bei uns im Laufwerk gespeichert werden.
- Die Linie endet nicht am Ende der Kopf- und Fusszeile sondern wird bis 5mm an den Blattrand gedruckt.
- Wenn im Excel die Saklierung verändert wird deckt das Linienbild nicht mehr die ganze Seite ab.
Ich suche nach einer Lösung mit welcher die oben geschilderten Probleme eliminiert sind, sich der Abtrennstrich automtisch der Seitenbreit anpasst und die Vorlage sollte ohne eine Hilfsdatei (Bildstrich) auskommen.
Untenstehend ist der Momentane verwendete VBA Code.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
ActiveSheet.PageSetup.LeftHeader = "&""Arial""&12" &    ActiveWorkbook. _
CustomDocumentProperties("IMS docname").Value
ActiveSheet.PageSetup.RightHeader = "&""arial,bold""&12Firmenname"
ActiveSheet.PageSetup.LeftFooter = "&L&06Freigabedatum: " & ActiveWorkbook. _
CustomDocumentProperties("IMS validfrom").Value & vbCr & "&L&06Druckdatum      : " & "&D"
ActiveSheet.PageSetup.RightFooter = "&R&06Version:   n.a." _
& vbCr & "&R&06Status:   " & ActiveWorkbook.CustomDocumentProperties("IMS status").Value
With ActiveSheet.PageSetup
ActiveSheet.PageSetup.CenterFooter = vbCr & "&G" & vbCr & "&06&P/&N" & vbCr & "&06Vor der   _
_
Anwendung des Dokuments ist sicherzustellen, dass die gültige Version vorliegt"
.CenterFooterPicture.Filename = "G:\04 - Prozessbeschreibungen\01 Managementsystem\10  _
IMS Dokumente\01 Aktuell\Linie_für_Ecxelvorlage_IMS.JPG"
End With
With ActiveSheet.PageSetup
ActiveSheet.PageSetup.CenterHeader = vbCr & "&G"
.CenterHeaderPicture.Filename = "G:\04 - Prozessbeschreibungen\01 Managementsystem\10  _
IMS Dokumente\01 Aktuell\Linie_für_Ecxelvorlage_IMS.JPG"
End With
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 19:37:58
Daniel
Hi
wie wäre es, Kopf und Fusszeile mit dem Unterstrich "_" in der ersten bzw letzen Zeile entsprechend zu füllen?
.
Zusätzliche Datei nicht notwendig.
ich würde hierführ auch Linke, Mittlere und Rechte Fusszeile verwenden, dann musst du die Zeichen auch nicht genau ausszählen, weil die Linke Fusszeile immer linksbündig und die rechte rechtsbündig dargestellt wird, Überlappungen sollten dann nicht auffallen, dadurch hast du einen "Toleranzausgleich".
Damit erscheint dann der Strich immer auf jedem Blatt und ist automatisch an die Seitenränder angepasst
Kopf- und Fusszeile kannst du von der Skalierung ausnehmen, so dass sie immer gleich gross sind.
Gruß Daniel

Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 20:06:20
Tobias
Hallo Daniel
Das habe ich auch schon mit VBA probiert, leider habe ich in der Kopfzeile Fett und nicht Fett geschriebene Textinhalte. Dies bewirkt, dass ich einen leichten Versatz zwischen den einzelnen Linie bekomme und in der Fusszeile wurde nach dem hinzufügen der Linie die restlichen Inhalte nicht mehr sauber dargestllt.
Kennst du noch eine Variante oder hast du ein VBA Code in welche du dies hinbekommen hast.
Gruss
Tobias

AW: Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 20:12:23
Matze
Hallo Tobias,
und wenn du die erste Zeile unterhalb der Kopfzeile nimmst mit einer Rahmenlinie ?
Höhe der Zeile kann dann minimiert werden und du hast immer den gleichen abstand zur Kopfzeilenhöhe.
Oder hab ich da jetzt einen Denkfehler ?
Gruß Matze

Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 20:48:12
Tobias
Hallo Matze
Ja das würde mein Problem bei der Kopfzeile eventuell losen aber unten bei der Fusszeile leider nicht. Die Kopf und Fusszeile sollte auch bei einem weitern Tabellenbaltt automtisch erscheinen und diese wäre danach auch nicht der Fall
Gruss
Tobias

AW: Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 20:57:11
Daniel
vielleich kannst du ja noch entsprechend formatierte Leerzeichen oder geschütze Leerzeichen (ASCII-Code 160) hinzufügen, so das in allen 3 Kopf/Fusszeilen die gleiche Zeilenanzahl und der gleichen Schriftgrösse vorliegt, so dass sich die Linien dann auch in der selben Höhe befinden?
oder du erzeugtst die Linie nur in der mittleren Kopf/Fusszeile, dann müsstest halt die Anzahl der Zeichen genauer ausszählen, aber dann entfällt das Versatzproblem durch unterschiedliche Schriftgrade.
wenn gar nichts geht, hilft vielleicht auch folgender Workaround (allerdings entstehen dann einzelseiten, was für den Papierausdruck egal ist, aber aufwand bei PDFs erzeugt:
erstelle ein Vorlagenblatt mit den Kopf- und Fusszeilen als Exceldatei.
zum Ausdruck lässt du ein Makro laufen, welches von den einzelnen Seiten eine Bildkopie erstellt und diese dann in das Vorlagenblatt einfügt.
Dieses Vorlagenblatt druckts du dann aus und wiederholst den Vorgang mit allen Seiten.
Gruß Daniel

Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
23.07.2014 21:10:42
Tobias
Hallo Daniel
Werde dies mit ASCII 160 Morgen mal probieren. Bei deinem zweiten Vorschlag komme ich nicht ganz draus wie du dies meinst. Kanst du mir eine Beispieldatei anhängen?
Gruss
Tobias

AW: Kopf- und Fusszeile abgetrennt durch eine Linie
24.07.2014 20:35:32
Tobias
Hallo Zusammen / Hallo Daniel
Danke für deine super Lösung aber diese ist zu komplziert für mich und ich möchte eine Volage erstellen in welcher ich von A4 bis A3 Quer und Hoch abdecken kann und dies ist mit deiner Lösung nicht möglich.
Gibt es eine Möglichkeit die Linie welche ich mit Sonderzeichen eingefügt habe mit einem Behel aus VBA zu erstellen. Weil ich kann zuwenig Sonderzeichen einfügen da sonst die maximal Zeichenanzahl überschritten wird.
Weiter habe ich immer noch probleme mit dem Versatz in der Kopfzeile weil ich einmal Fett und einmal normal Schrift benütze.
Für ein optimierten Code oder eine konstuktive Antwort wäre ich dankbar da ich mich nicht gut mit VBA auskenne.
Gruss
Tobias
Hier ist mein momentaner Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
ActiveSheet.PageSetup.LeftHeader = "&""Arial""&12" & ActiveWorkbook.CustomDocumentProperties( _
"IMS docname").Value & vbCr & "&16____________________________"
ActiveSheet.PageSetup.CenterHeader = "&""arial,bold""   " & vbCr & "& _
17____________________________________"
ActiveSheet.PageSetup.RightHeader = "&""arial,bold""&12Firmenname" & vbCr & "& _
16______________________________________"
ActiveSheet.PageSetup.LeftFooter = "&25_________" & vbCr & "&L&06Freigabedatum: " &  _
ActiveWorkbook.CustomDocumentProperties("IMS validfrom").Value & vbCr & "&L&06Druckdatum      : " & "&D"
ActiveSheet.PageSetup.CenterFooter = "&25________" & vbCr & "&06&P/&N" & vbCr & "&06Vor der  _
Anwendung des Dokuments ist sicherzustellen, dass die gültige Version vorliegt"
ActiveSheet.PageSetup.RightFooter = "&25_________" & vbCr & "&R&06Version:   n.a." _
& vbCr & "&R&06Status:   " & ActiveWorkbook.CustomDocumentProperties("IMS status").Value
End Sub

Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
25.07.2014 00:13:31
Daniel
Du kannst, wenn du eine bestimmte Anzahl von gleichen Zeichen benötigst, die String-Funktion einsetzen.
Statt: ="__________Hallo Welt"
Dann: =String(10, "_") & "Hallo Welt"
Für die Anderen Sachen weiß ich grad auch keine Lösung.
Unterschiedliche Schriftarten, -grade oder Stile (fett) sollte man vermeiden, oder sie müssen in allen Drei Headern vorkommen, so dass alle drei die selbe höhe erzeugen.
Gruß Daniel

AW: Kopf- und Fusszeile abgetrennt durch eine Linie
25.07.2014 19:36:12
Tobias
Dank für diesen Tipp funktioniert gut leider habe ich immer noch zuviel zeichen in meiner Kopf und Fusszeile. Gibt es eine Möglichkeit das Sonderzeichen _ deifach so lange darzustellen ohne, dass es danach als drei Zeichen gilt?
Oder wie kann nicht mit VBA eine Linie erstellen welche ein drittel einer A3 Quer seite überdeckt?

Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
27.07.2014 13:07:11
Daniel
Bei zuviel Text könntest du versuchen, die Informationen, die viel Text benötigen, im Kopfzeilenbereich anzuzeigen.
dort kannst du nämlich, anstelle die Kopfzeile zu verwenden, diesen Text in die ersten Zeilen der Tabelle schreiben und diese Zeilen beim Seiteneinrichten als Wiederholungszeilen einstellen.
Sie werden dann auf allen Seiten ausgedruckt.
Über die Seitenränder kannst du es dann so einrichten, dass sich auf dem Blatt die Bereiche für die Wiederholungszeilen und die echte Kopfzeile überschneiden.
Gruß Daniel

AW: Kopf- und Fusszeile abgetrennt durch eine Linie
29.07.2014 07:09:06
Tobias
Geht leider auch nicht, da ich das Problem mit dem zu viel Text in der Fusszeile habe. Ich sollte einfach ein längeres unterlein Zeilen (Sonderzeichen) haben. Weiss jemand wie man ein solches Sonderzeichen selber herstellen kann?
Gruss
Tobias

Anzeige
AW: Kopf- und Fusszeile abgetrennt durch eine Linie
29.07.2014 12:58:55
Daniel
Wenn du den Text aus der Fusszeile nicht auch in der Kopfzeile (bzw den Wiederholungszeilen darstellen kannst), dann musst du dir wohl selber deinen Zeichensatz mit laaaaaaaaaangem Strich erstellen.
einfach mal die Suchmaschine deines Vertrauens nach "Zeichensatz selber gestalten" oder so was ähnlichem befragen, dann findest du beispielsweise solche Seiten:
http://www.heise.de/download/special-zeichensaetze-gestalten-150021.html
Gruß Daniel

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige