Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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
Seitenzahl als Funktion
30.04.2009 19:56:15
Markus
Hallo zusammen,
im forum war leider nicht das richtige dabei was ich gesucht habe.
Ich suche eine funktion, die mir in eine Zelle die Seitenzahl einer Tabelle schriebt.
Ich kenne diese Funktion aus der Kopf/Fußzeile, aber leider nicht in der tabelle.
hoffe ihr könnt mir weiterhelfen..
danke vorab, markus

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seitenzahl als Funktion
30.04.2009 20:20:53
Tino
Hallo,
eine bessere Idee habe ich dazu nicht.
Nachteil dieser Funktion, sie brauch recht lang zum berechnen. ;-(
Kommt in ein Modul
Function DieseSeite(rngZelle As Range) As Integer Application.Volatile DieseSeite = Sheets(rngZelle.Parent.Name).VPageBreaks.Count + _ Sheets(rngZelle.Parent.Name).HPageBreaks.Count + 1 End Function


In die entsprechende Zelle diese Formel eintragen.

 A
13

Formeln der Tabelle
ZelleFormel
A1=DieseSeite(A1)

Gruß Tino
Anzeige
Seitenzahl per Name
30.04.2009 20:41:42
Josef
Hallo Markus,
das geht über einen definierten Namen.
Tabelle1

 F
11

Formeln der Tabelle
ZelleFormel
F1=Seiten
Namen in Formeln
ZelleNameBezieht sich auf
F1Seiten=DATEI.ZUORDNEN(50)+JETZT()*0
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

Anzeige
AW: Seitenzahl als Funktion
01.05.2009 10:48:48
Beverly
Hi Markus,
noch eine VBA-Möglichkeit:

' Von Herbert Grom - Ermittlung der Druckseitenanzahl
Dim i As Integer
i = ExecuteExcel4Macro("Get.Document(50)")




ich glaube Markus meint es anders.
01.05.2009 12:02:17
Tino
Hallo,
er will bestimmt nicht die Anzahl der Seiten, sondern in einer Zelle die aktuelle Seite angezeigt bekommen, so wie in der Umbruchvorschau die Seitenzahl im Hintergrund als Wasserzeichen zu sehen ist.
Habe aber keine Lösung dazu.
Frage offen.
Gruß Tino
Anzeige
aktuelle Seite für horizontalen Seitenumbruch
01.05.2009 15:09:54
Beverly
Hi,
eine Möglichkeit, die jedoch nur für horizontale Seitenumbrüche gilt (Seitenzahl wird in Spalte F jeweis in der letzten Zeile vor dem Seitenumbruch eingtragen):

Sub Seitenzahlen_Druckseiten2()
' Von Herbert Grom - Ermittlung der Druckseitenanzahl
Dim i As Integer
i = ExecuteExcel4Macro("Get.Document(50)")
Dim loSeite As Long
Dim loZeile As Long
With ActiveSheet
For loSeite = 1 To i
If loSeite = i Then
.Cells(.HPageBreaks(loSeite - 1).Location.Row + .HPageBreaks(1).Location.Row -  _
2, 6) = "Seite " & loSeite
Else
.Cells(.HPageBreaks(loSeite).Location.Row - 1, 6) = "Seite " & loSeite
End If
Next loSeite
End With
End Sub


Beitrag als offen da nur eine mögliche Teillösung.



Anzeige
AW: aktuelle Seite für horizontalen Seitenumbruch
02.05.2009 12:25:10
Tino
Hallo,
habe auch mal etwas gebastelt, allerdings habe ich mir etwas von Beate abgekuckt. ;-)
Es werden die gleichen Seiten in die Zellen geschrieben, die auch im Seitenumbruch zu sehen sind.
Sub Test()
Dim LRow As Long, LCol As Long, LColT As Long, LPageRow As Long
Dim LCounter As Long, FindRow As Long, BreaksCount As Long

BreaksCount = ExecuteExcel4Macro("Get.Document(50)")

With ActiveSheet
    If BreaksCount > 0 Then
            On Error Resume Next
               FindRow = .Cells.Find("*", , xlValues, 2, 1, 2, False, False).Row
               FindRow = Application.Max(FindRow, .Cells.Find("*", , xlFormulas, 2, 1, 2).Row)
            On Error GoTo 0
         
         For LCol = 0 To .VPageBreaks.Count
           
                        If LCol = 0 Then
                         LColT = 1
                        Else
                         LColT = .VPageBreaks(LCol).Location.Column
                        End If
                
                For LRow = 0 To .HPageBreaks.Count
                
                        If LRow = 0 Then
                         LPageRow = 1
                        Else
                         LPageRow = .HPageBreaks(LRow).Location.Row
                        End If
                
                        If FindRow >= LPageRow Then
                           LCounter = LCounter + 1
                           If LCounter > BreaksCount Then Exit For
                           .Cells(LPageRow, LColT) = "Seite " & LCounter & " von " & BreaksCount
                        End If
                
                Next LRow
         
         Next LCol
    End If
End With
End Sub


Gruß Tino

Anzeige
meinte natürlich Karin. sorry oT.
02.05.2009 12:28:25
Tino

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige