Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Seitenzahl anzeigen in Normalansicht (Hintergrund)

Forumthread: Seitenzahl anzeigen in Normalansicht (Hintergrund)

Seitenzahl anzeigen in Normalansicht (Hintergrund)
06.07.2004 17:57:45
Matthias B.
Hallo,
gibt es eine Möglichkeit, die Seitenzahl auch in der Normalansicht im Hintergrund anzeigen zu lassen, wie es in der Seitenumbruchsvorschau möglich ist. Ich habe eine lange Excel Liste in der es mir am liebsten wäre, dass die jeweilige Seitenzahl im Hintergrund angezeigt wird, damit ich weiss auf welcher Seite ich bin und auch beim Drucken keine Probleme habe.
Vielen Dank
Matthias
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seitenzahl anzeigen in Normalansicht (Hintergrund)
06.07.2004 18:23:11
Ulf
Ja, das ist möglich, wenn auch mit einigem Programmieraufwand verbunden.
Das Ganze soll natürlich automatisch passieren?
Weißt du, wie die Seitenzahlen ermittelt werden?
Ulf
AW: Seitenzahl anzeigen in Normalansicht (Hintergrund)
06.07.2004 20:45:29
Matthias B.
Hallo Ulf,
ja die Seitenzahl sollte es mir automatisch im Hintergrund anzeigen. Eben vergleichbar mit der Seitenumbruchvorschau. Ich weiß nicht wie die Seitenzahlen ermittelt werden.
Matthias
Anzeige
AW: Seitenzahl anzeigen in Normalansicht (Hintergrund)
06.07.2004 20:51:14
andre
Hallo Matthias,
probier mal das:

Sub Druckseiteneinrichten()
'code von jörg lorenz <a href="http://www.excel-vba.de/drucken.htm">http://www.excel-vba.de/drucken.htm</a>
'angepasst von andre schau <a href="http://a-schau.de">http://a-schau.de</a>
Dim intI%, intJ%, intK%
Dim SeitenZähler%
Dim WievielteZeile%, WievielteSpalte%
ReDim arrSammler(1)
Dim SeiteLetzteZeile As Long
'Standardmäßig wird bei jeder Seite der Inhalt der linken oberen Zelle
'zurückgegeben. Soll das eine andere sein, müssen die folgenden Werte
'geändert werden.
'Soll z. B. auf der ersten Seite der Inhalt von B4 zurückgegeben werden,
'muß die erste Variable auf 3, die zweite auf 1 gesetzt werden
'(vierte Zeile von oben, zweite Spalte von links).
WievielteZeile = 0
WievielteSpalte = 0
ActiveWindow.View = xlPageBreakPreview
'ActiveSheet.ResetAllPageBreaks
arrSammler(0) = 1
For intI = 1 To ActiveSheet.HPageBreaks.Count
ReDim Preserve arrSammler(intI)
arrSammler(intI) = ActiveSheet.HPageBreaks.Item(intI).Location.Row
Next
SeitenZähler = 0
For intJ = 0 To intI - 1
'aenderung von andre, erst mal nur für seitenanordnung im sheet
'nur untereinander
If intJ + 1 < UBound(arrSammler()) Then
SeiteLetzteZeile = arrSammler(intJ + 1)
Else
'funktioniert nur wenn zelle 65536 (letzte zelle des blattes)
'nicht belegt ist, und wenn spalte a die letzte belegte zelle hat
'wenn nicht bei Cells(Rows.Count, 1).... statt 1 andere spaltennummer
'einrtragen
SeiteLetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
End If
SeitenZähler = SeitenZähler + 1
Ausführen CInt(arrSammler(intJ)) + _
WievielteZeile, 1 + _
WievielteSpalte, SeitenZähler, SeiteLetzteZeile
Next
For intJ = 1 To ActiveSheet.VPageBreaks.Count
SeitenZähler = SeitenZähler + 1
Ausführen CInt(arrSammler(0)) + _
WievielteZeile, ActiveSheet.VPageBreaks.Item(intJ).Location.Column + _
WievielteSpalte, SeitenZähler
For intK = 1 To intI - 1
SeitenZähler = SeitenZähler + 1
Ausführen CInt(arrSammler(intK)) + _
WievielteZeile, ActiveSheet.VPageBreaks.Item(intJ).Location.Column + _
WievielteSpalte, SeitenZähler
Next
Next
ActiveWindow.View = xlNormalView
End Sub


Sub Ausführen(Zeile As Integer, Spalte As Integer, SeitenZähler As Integer, Optional ByVal SeiteLetzteZeile As Integer)
'optional in subzeile zugefügt von andre, zum eintrag in jede zeile
'originalcodeteile auskommentiert
'eintrag auf der letzten seite nur im ausgefüllten bereich
Dim strAnzeige$
'strAnzeige = Cells(Zeile, Spalte) & "     Seite: " & SeitenZähler
'MsgBox strAnzeige
If SeiteLetzteZeile > 0 Then
For i = Zeile To SeiteLetzteZeile
Cells(i, 7) = "Seite: " & SeitenZähler
'Cells(Zeile, 7) = strAnzeige
Next
Else
Cells(Zeile, Spalte) = "Seite: " & SeitenZähler
End If
'ActiveSheet.PageSetup.LeftHeader = strAnzeige
'ActiveSheet.PrintOut from:=SeitenZähler, to:=SeitenZähler
End Sub

Anzeige
AW: Seitenzahl anzeigen in Normalansicht (Hintergrund)
06.07.2004 21:47:27
Matthias B.
Hallo Andre,
hab ich was falsch gemacht? Fügt mir die Seitenzahl in eine Zelle ein. Wollte ich aber nicht. Hätte Sie gerne z.B. mitten im Blatt als Hintergrund und unabhängig von einer Zelle.
Matthias
AW: Seitenzahl anzeigen in Normalansicht (Hintergrund)
07.07.2004 05:45:13
andre
Hallo Matthias,
...hast nix falsch gemacht. Das ist eine Lösung für die Ermittlung der Seitenzahl und Platzierung im Blatt. Wenn Du die Zahl als Hintergrund willst geht das nur wie Du es schon getan hast über die Seitenumbruchvorschau oder Du erstellst Dir ein transparentes Bild, welches über alle Seiten geht und an der richtigen Stellen die Seitennummer hat. Das mag bei zwei Seiten noch gehen, aber bei mehr wird es lustig, die Nummer an die richtige Stelle zu positionieren und irgendwann kackt Excel auch ab weil die Grafik zu groß wird ... Oder man bastelt an dem Code noch etwas rum und platziert die Zahl statt in eine Zelle in ein Textfeld und setzt von diesem die Eigenschaft Objekt drucken auf falsch.
Was stört Dich eigentlich an der Seitenumbruchvorschau?
Wenn Deine Seitenanzeige zu schmal oder zu kurz ist oder was auch immer dann mache folgendes:
Gehe mit der Normalansicht in die Seitenansicht und wieder raus, dann bekommst Du in der Regel die Seitenränder angezeigt.
Dann legst Du über Deine benötigten Seiten den Druckbereich anhand der Ränder fest.
Dann nimmst Du die Seitenumbruchvorschau und siehst Deine Blätter in voller Größe.
Anzeige
;
Anzeige

Infobox / Tutorial

Seitenzahl im Hintergrund anzeigen in Excel


Schritt-für-Schritt-Anleitung

Um die Seitenzahl im Hintergrund in Excel anzuzeigen, kannst du VBA (Visual Basic for Applications) verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub Druckseiteneinrichten()
       Dim intI%, intJ%, intK%
       Dim SeitenZähler%
       Dim WievielteZeile%, WievielteSpalte%
       ReDim arrSammler(1)
       Dim SeiteLetzteZeile As Long
    
       WievielteZeile = 0
       WievielteSpalte = 0
       ActiveWindow.View = xlPageBreakPreview
       arrSammler(0) = 1
    
       For intI = 1 To ActiveSheet.HPageBreaks.Count
           ReDim Preserve arrSammler(intI)
           arrSammler(intI) = ActiveSheet.HPageBreaks.Item(intI).Location.Row
       Next
    
       SeitenZähler = 0
       For intJ = 0 To intI - 1
           If intJ + 1 < UBound(arrSammler()) Then
               SeiteLetzteZeile = arrSammler(intJ + 1)
           Else
               SeiteLetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
           End If
           SeitenZähler = SeitenZähler + 1
           Ausführen CInt(arrSammler(intJ)) + WievielteZeile, 1 + WievielteSpalte, SeitenZähler, SeiteLetzteZeile
       Next
    
       For intJ = 1 To ActiveSheet.VPageBreaks.Count
           SeitenZähler = SeitenZähler + 1
           Ausführen CInt(arrSammler(0)) + WievielteZeile, ActiveSheet.VPageBreaks.Item(intJ).Location.Column + WievielteSpalte, SeitenZähler
           For intK = 1 To intI - 1
               SeitenZähler = SeitenZähler + 1
               Ausführen CInt(arrSammler(intK)) + WievielteZeile, ActiveSheet.VPageBreaks.Item(intJ).Location.Column + WievielteSpalte, SeitenZähler
           Next
       Next
    
       ActiveWindow.View = xlNormalView
    End Sub
    
    Sub Ausführen(Zeile As Integer, Spalte As Integer, SeitenZähler As Integer, Optional ByVal SeiteLetzteZeile As Integer)
       If SeiteLetzteZeile > 0 Then
           For i = Zeile To SeiteLetzteZeile
               Cells(i, 7) = "Seite: " & SeitenZähler
           Next
       Else
           Cells(Zeile, Spalte) = "Seite: " & SeitenZähler
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro Druckseiteneinrichten aus, um die Seitenzahlen zu generieren.


Häufige Fehler und Lösungen

  • Problem: Die Seitenzahl wird in eine Zelle eingefügt, nicht als Hintergrund.

    • Lösung: Um die Seitenzahl als Hintergrund anzuzeigen, kannst du ein Textfeld verwenden. Füge ein Textfeld hinzu, kopiere die Seitenzahl dort hinein und stelle sicher, dass die Druckoption für das Textfeld deaktiviert ist.
  • Problem: Excel zeigt die Seitenzahlen nicht korrekt an.

    • Lösung: Überprüfe die Einstellungen für die Seitenumbrüche und stelle sicher, dass der Druckbereich richtig definiert ist.

Alternative Methoden

Eine andere Möglichkeit, die Seitenzahl anzuzeigen, besteht darin, die Seitenumbruchvorschau zu verwenden. Diese Ansicht zeigt dir, wie viele Seiten deine Liste umfasst und wo die Seitenumbrüche liegen. Diese Methode ist besonders nützlich, wenn du die Seitenzahlen nicht im Hintergrund, sondern nur zur Orientierung benötigst.


Praktische Beispiele

  • Beispiel 1: Wenn du eine lange Liste von Daten hast und die Seitenzahl im Hintergrund sehen möchtest, führe das oben genannte Makro aus. Es fügt die Seitenzahl in die 7. Spalte jeder Zeile ein.

  • Beispiel 2: Erstelle ein transparentes Bild mit den Seitenzahlen und füge es in dein Excel-Dokument ein. Diese Methode erfordert jedoch manuelle Anpassungen und ist weniger flexibel.


Tipps für Profis

  • Verwende bedingte Formatierung, um die Sichtbarkeit der Seitenzahlen zu erhöhen, wenn du sie in Zellen einfügst.
  • Speichere dein VBA-Skript als Vorlage, um es in zukünftigen Projekten schnell nutzen zu können.
  • Teste das Makro mit verschiedenen Druckereinstellungen, um sicherzustellen, dass die Seitenzahl immer korrekt angezeigt wird.

FAQ: Häufige Fragen

1. Wie kann ich die Seitenzahl im Hintergrund ausblenden?
Du kannst die Seitenzahl entfernen, indem du das Makro anpasst oder einfach das Textfeld mit der Seitenzahl löscht.

2. Wie kann ich die Seitenanzahl in Excel einfügen?
Nutze das VBA-Skript, um die Seitenzahl automatisch in die gewünschten Zellen einzufügen. Alternativ kannst du die Seitenzahl manuell in die Kopf- oder Fußzeile einfügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige