Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Ur-Dringend: Excel-Seitenzahlen





Frage

Hi! Wie kann ich in eine Excel-Tabelle die fortlaufende Seitenzahl und die Gesamtseitenzahl eintragen. Nicht in der Kopf oder Fußzeile!!! Danke im Voraus - Jabberwocky

Antwort 1 von want2cu

hallo Jabberwocky,

so was ähnliches ist vor kurzem hier schon mal gefragt worden, es hat leider keine antwort darauf gegeben. Ich habe auch gesucht und ebenfalls nichts gefunden, wie es gehen könnte.

Vielleicht haben Milka, Aliba, Manuel & CO (bitte jetzt alle anderen nicht beleidigt sein, weil ihr hier nicht namentlich erwähnt seid) ja einen Tipp, wie es vielleicht mit VBS oder einem Makro gehen könnte.

CU
Klaus


Antwort 2 von Guenter

Hi,

folgendes Makro habe ich bei Herber gefunden und etwas geändert. Die Spalte B ist mit Zahlen ausgefüllt. In Zelle A1 wird die Gesamtseitenzahl angegeben und in Spalte A vor jedem Seitenumbruch die aktuelle Seite.
Funktioniert bei mir in Excel 2000.
Option Explicit
Dim Y As Long
Dim Z As Long
Dim I As Long
Dim J As Long
Dim ZB As Long
Dim SB As Long
Dim aSeite As Boolean
Dim eSeite As Boolean
Dim X As Integer



Sub Gesamtzahl_der_Druckseiten()
X = ExecuteExcel4Macro("get.document(50)")
Range("A1") = X
End Sub


Sub Zahl_der_aktuellen_Druckseite()
Application.ScreenUpdating = False
ActiveSheet.PageSetup.PrintArea = ""
Y = 1: Z = 1: I = 1: J = 1
eSeite = False: aSeite = False
Do While aSeite = False
Call Aktuelle_Seite
Loop
End Sub

Sub Aktuelle_Seite()
Dim Blatt As Range
Dim Prüfen As Object
Do While eSeite = False
Call Seitenumbruch(I, J)
Set Blatt = Range(Cells(Y, Z), Cells(ZB, SB))
Cells(ZB, 1) = "Aktuelle Druckseiten-Nr. ist " & I & " von " & X
Y = ZB + 1
I = I + 1
Loop
J = J + 1
Z = SB + 1
I = 1: Y = 1
eSeite = False
End Sub

Sub Seitenumbruch(nBlatt, oBlatt)
Dim varPB As Variant
Dim nSeite%
varPB = ExecuteExcel4Macro("INDEX(GET.DOCUMENT(64)," & nBlatt & ")")
If IsError(varPB) Then
ZB = Cells(Cells.Rows.Count, oBlatt).End(xlUp).Row
eSeite = True
Exit Sub
End If
ZB = varPB - 1
varPB = ExecuteExcel4Macro("INDEX(GET.DOCUMENT(65)," & oBlatt & ")")
If IsError(varPB) Then
aSeite = True
SB = Cells(nBlatt, 256).End(xlToLeft).Column
Exit Sub
End If
SB = varPB - 1

End Sub


Gruß
Günter



Antwort 3 von want2cu

@günter: bin begeistert! Sorry, dass ich deinen Namen in meinem Posting nicht ausdrücklich genannt habe.
Deine Tipps habe ich schon öfters gelesen und fand sie immer sehr gut.

CU
Klaus

Antwort 4 von Jabberwocky

Habe eine einfache Lösung: Da es sich bei meiner Vorgabe um ein Formular handelt, und dieses daher auf jeder Seite gleich ist kann ich folgendermaßen vorgehen:
Aktuelle Seite angeben: =ZEILE(A58)/58 (58 ist die letzte Zeile)
Anzahl der Seiten: =ZÄHLENWENN($A$1:A59932;"Irgendein Text der im Formular vorkommt")
So kann ich das Formular beliebig oft kopieren und anschließend einfügen!
Danke für alle Tips- Jabberwocky

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: