Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1352to1356
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

Zeilen in Fußzeile

Zeilen in Fußzeile
04.03.2014 12:00:38
Duinne
Hallo Leute,
ich habe ein Problem zum Thema Fußzeile / Wiederholzeile.
In meiner Beispielmappe ist eine Stückliste zu sehen:
https://www.herber.de/bbs/user/89527.xlsx
Diese Stückliste ist nach unten hin offen. Der grün markierte Bereich ist das Schriftfeld. Dieses Schriftfeld hätte ich gerne in der Fußzeile, sodass es bei jedem Druck auf jeder Seite unten steht.
Gibt es die Möglichkeit, Zellen bzw. Zeilen in die Fußzeile zu packen? Oder gibt es so etwas wie "Wiederholzeile unten"? Aus dem Seitenlayout kenne ich nur "Wiederholzeile oben". Ich schätze, dass es auf VBA hinauslaufen wird, was allerdings kein Problem wäre.
Kann mir hierbei jemand helfen?
Liebe Grüße
Duinne

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen in Fußzeile
04.03.2014 13:51:24
Duinne
Ich glaube, ich habe wieder einmal vergessen, dieses Häkchen zu setzen. Entschuldigung!
Gruß
Duinne

viele Zeilen in Fußzeile möglich ?
04.03.2014 16:50:08
robert
Hi,
ich hab für dich ein wenig gegoogelt, aber nichts verwertbares gefunden.
Wozu so viel Text in einer Fußzeile?
Gruß
robert
PS: wenn Du einen Beitrag eröffnest, brauchst Du nicht auf Offen-stellen.
Erst wenn die Antworten nicht zufriedenstellend ausgefallen sind, dann Häkchen ;-)

AW: viele Zeilen in Fußzeile möglich ?
04.03.2014 17:20:09
Toumas
Hallo,
da ich leider die Datei bei mir nicht runterladen kann, tippe ich einfach mal ins Blaue.
Leider bin ich auch noch relativer Anfänger, dennoch hoffe ich, dass der Tipp dich irgendwie weiterbringt.
Meine Fusszeile übernehme ich immer mit folgenden kleinen Makro aus der Zelle A1

Sub Fusszeile()
Dim Z As String
Range("A1").Select
Z = ActiveCell.Value
ActiveSheet.PageSetup.RightFooter = Z
End Sub

Wenn es noch automatisch bei jeder Änderung der Zelle erfolgen sollte, dann noch bei der Tabelle einfügen :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Call Fusszeile
Application.EnableEvents = True
End If
End Sub

Viele Grüße
Toumas

Anzeige
der Bereich der Fußzeile......
04.03.2014 17:45:26
robert
soll Range("A1:S10") sein,
...eine Zelle ist kein Problem....
Gruß
robert

AW: der Bereich der Fußzeile......
04.03.2014 17:53:09
Matze
Hallo Zusammen , Hi Robert,
ich seh das so wie Robert, ich denke du solltest dir einen Druckbereich definieren.
Dort dann in die untersten Zeilen als Ganzes einfügen.
Was ich gar nicht verstehe ist, wenn du das Blatt druckst ist der Obere Bereich dann nicht auf dem Blatt?
Matze (Kopfkratz)

AW: der Bereich der Fußzeile......
05.03.2014 08:35:13
Duinne
Hallo Leute,
ganz vielen Dank für eure zahlreichen Antworten!
1. Das mit dem Makrocode funktioniert leider nicht. Ich habe lediglich "Angaben zu den Mengenspalten" in der Fußzeile stehen. Ich benötige allerdings den ganzen grünen Bereich, mit Rahmen und Inhalt. Ist das möglich?
2. Das Problem ist Folgendes: Diese Stückliste muss vom jeweiligen Bearbeiter direkt in der Excel-Datei bearbeitet werden. Wenn man dieses Schriftfeld nach unten setzt, muss ich das immer zwischen die Positionen setzen, sodass Positionen und Schriftfeld auf ein Blatt passen. Ab 5 Blättern wird das unübersichtlich. Da habe ich dann jedes Mal fünf Schriftfelder dazwischen.
Die STückliste soll also fortlaufend geführt werden können. Gleichzeitig muss das Schriftfeld aber für den Bearbeiter irgendwo sichtbar sein, deswegen steht es jetzt ganz oben.
Ist eine Stückliste fertig, wird automatisch eine pdf-Datei erzeugt. Diese Datei muss eine Stücklistennorm erfüllen, die vorschreibt, dass das Schriftfeld auf jeder Seite unten stehen muss. Deshalb kann ich keine "Wiederholzeile oben" verwenden.
Der Druckbereich würde dann übrigens - so wie die Tabelle jetzt ist - erst ab Zeile 11 beginnen.
Liebe Grüße
Duinne

Anzeige
AW: der Bereich der Fußzeile......
06.03.2014 10:06:27
fcs
Hallo Duine,
ein Weg dieses Problem zu lösen besteht dann darin, dass für die Ausgabe als PDF die Daten per Makro in ein 2. Tabellenblatt kopiert werden und dabei die als Fußzeilen vorgesehenen Zeilen jeweils an der richtigen Position eingefügt werden.
Dabei muss dann auch noch das Problem mit den Seitennummern berücksichtigt werden und ggf. das Auffüllen mit Leerzeilen auf der letzten Seite.
Dazu solltest du dann mal eine Beispiel-Datei mit mindestens 2 bis 3 Seiten inklusive Daten und ggf. Formeln erstellen, sensible Daten dabei natürlich durch Dummywerte ersetzen. Tabelle1 wie nach der Eingabe (also ähnlich wie dein jetziges fast leeres Blatt) und ein 2. Tabellenblatt so wie die Tabelle für die Ausgabe als PDF aussehen soll.
Zusätzlich wäre evtl. noch interressant, ob dass PDF über die Druckfunktion (PDF-Drucker) erzeugt werden soll oder via Speichern-Unter als PDF von Excel exportiert werden soll.
Gruß
Franz

Anzeige
AW: der Bereich der Fußzeile......
06.03.2014 13:21:33
Duinne
Hallo Franz,
schön, dass auch du mir geantwortet hast. Ich habe die Beispielmappe jetzt noch einmal aufgearbeitet:
https://www.herber.de/bbs/user/89556.xlsm
Im Reiter Stückliste ist jetzt die Tabelle zu sehen, wie der Bearbeiter sie braucht. Das Schriftfeld ganz oben und darunter eine fortlaufende Stückliste.
Im Reiter Druck habe ich die Tabelle jetzt so dargestellt, wie sie als pdf aussehen muss. Leider kann ich nicht sagen, ob es sich bei der pdf-Erzeugung um einen Druck oder ein Speichern unter handelt. Dafür ist ein Automation-Server zuständig, von dem ich keine Ahnung habe.
Ist das sehr relevant?
Grüße
Duinne

Anzeige
AW: der Bereich der Fußzeile......
06.03.2014 18:53:38
fcs
Hallo Duinne,
hier ein entssprechendes Makro, das die Stückliste in eine neu Arbeitsmappe kopiert und aufbereitet für den Druck. Wenn das Druckblatt innerhalb der Datei mit der Stückliste angelegt werden soll, dann muss die Anpassungen entsprechend Kommentaren beachten. Ein paar Zeilen sind dann anzupassen.
Gruß
Franz
'Makro in einem allgemeinen Modul
Sub DruckAusgabe()
Dim wksListe As Worksheet, Zeile_S As Long, Zeile_SL As Long
Dim wksDruck As Worksheet, Zeile_D As Long, Zeile_S1 As Long
Dim rngFuss As Range, rngKopf As Range
Dim lngSeite As Long, AnzSeiten As Long
Dim AnzPosproSeite As Long, AnzZeilenproSeite As Long
Application.ScreenUpdating = False
Set wksListe = ActiveWorkbook.Worksheets("Stückliste")
GoTo Weiter01
'ggf. vorhandenes Blatt "Druck" löschen - nur erforderlich, wenn Blatt für
'Druckausgabe innerhalb der Datei mit der Stückliste erstellt werden soll
For Each wksDruck In ActiveWorkbook.Sheets
If wksDruck.Name = "Druck" Then
Application.DisplayAlerts = False
wksDruck.Delete
Application.DisplayAlerts = True
Exit For
End If
Next
Weiter01:
With wksListe
'letzte Zeile in Stückliste
Zeile_SL = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
With .UsedRange
'      Zeile_SL = .Row + .rpws.Count - 1
End With
'Blatt "Stückliste" kopieren für Druckausgabe innerhalb der Datei
'    .Copy after:=wksListe
'Blatt "Stückliste" in neue Datei kopieren für Druckausgabe
.Copy
Set wksDruck = ActiveSheet
End With
With wksDruck
'    .Name = "Druck" 'nur erforderlich bei Druckausgabe innerhalb Datei
'Startwerte setzen
Set rngKopf = .Range("11:13") 'Titelzeilen auf jeder Seite
Set rngFuss = .Range("1:10")  'Fusszeilen auf jeder Seite
AnzPosproSeite = 8                      'Anzahl Positionen pro Seite
AnzZeilenproSeite = 2 * AnzPosproSeite  'Anzahl Tabellenzeilen mit Positionen pro Seite
lngSeite = 0                    'Startwert Seitenzähler
Zeile_S1 = 14                   'Zeile mit 1. Position in Stückliste
Zeile_D = Zeile_S1              'Startwert Zeilenzähler in Druckausgabe setzen
For Zeile_S = Zeile_S1 To Zeile_SL Step AnzZeilenproSeite
lngSeite = lngSeite + 1
If lngSeite > 1 Then
'Kopfzeilenblock einfügen
rngKopf.Copy
.Cells(Zeile_D, 1).Insert
Zeile_D = Zeile_D + rngKopf.Rows.Count
End If
'Fusszeilenblock einfügen
Zeile_D = Zeile_D + AnzZeilenproSeite
rngFuss.Copy
.Cells(Zeile_D, 1).Insert
'Nummer der Seite eintragen in Fusszeile
.Cells(Zeile_D + rngFuss.Rows.Count - 2, 19).Value = Format(lngSeite, "000")
AnzSeiten = lngSeite
If Zeile_S + AnzZeilenproSeite > Zeile_SL + 1 Then
'ggf. Leerzeilen am Listenende formatieren
'Letzte Leerposition auf Seite
With wksListe
.Range(.Rows(Zeile_SL - 1), .Rows(Zeile_SL)).Copy
End With
.Range(.Rows(Zeile_D - 2), .Rows(Zeile_D - 1)) _
.PasteSpecial Paste:=xlPasteFormats
'Letzte 1. bis vorletzte Position auf Seite
With wksListe
.Range(.Rows(Zeile_SL - 3), .Rows(Zeile_SL - 2)).Copy
End With
.Range(.Rows(Zeile_D - AnzZeilenproSeite), .Rows(Zeile_D - 3)) _
.PasteSpecial Paste:=xlPasteFormats
End If
Zeile_D = Zeile_D + rngFuss.Rows.Count
Next Zeile_S
Application.CutCopyMode = False
'Gesamtblattanzahl auf allen Seiten eintragen
'Zeile mit gesamtseiten auf Blatt 1
Zeile_S = Zeile_S1 + AnzZeilenproSeite + rngFuss.Rows.Count - 1
For lngSeite = 1 To AnzSeiten
.Cells(Zeile_S, 19).Value = Format(AnzSeiten, "000") & " Bl."
Zeile_S = Zeile_S + (rngKopf.Rows.Count + AnzZeilenproSeite _
+ rngFuss.Rows.Count) * lngSeite
Next
'letzte Zeile für Druckbereich ermitteln
Zeile_D = Zeile_D - 1 - rngFuss.Rows.Count
'Zellbereich mit Fusszeilen in Zeilen 1 bis 10 löschen
rngFuss.Delete shift:=xlShiftUp
'Seite einrichten
With .PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
.PrintArea = "$A$1:$S$" & Zeile_D
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.CentimetersToPoints(0.7)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(1.3)
.BottomMargin = Application.CentimetersToPoints(1.7)
.HeaderMargin = Application.CentimetersToPoints(1.3)
.FooterMargin = Application.CentimetersToPoints(0.8)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments  'ggf. = 0
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = False
End With
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: der Bereich der Fußzeile......
07.03.2014 09:38:32
Duinne
WoW!!! Vielen, vielen Dank! Das Makro funktioniert einwandfrei! Danke, dass du dir die Mühe gemacht hast, Franz =)
Ich danke euch allen für die tolle Unterstützung!
Liebe Grüße
Duinne

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige