AW: Seitenzahl
30.12.2014 13:49:14
Matze
Hallo Liridon,
mit VBA dürfte das machbar sein, wo soll denn später die Zahl angezeigt werden?
Benutzt du Wiederholungszeilen als Überschriften? Also Input zum Aufbau wäre hilfreich.
ansonsten teste mal diese Codezeilen in ein Modul einfügen:
Option Explicit
Sub AktuelleSeite()
Dim AZ As Range
Dim WS As Worksheet
Dim Seite() As Range
Dim AnzZn As Long
Dim AnzSn As Long
Dim U As Long
Dim Z As Long
Set WS = ActiveSheet
AnzZn = WS.Rows.Count
AnzSn = WS.Columns.Count
Application.ScreenUpdating = False
Z = ActiveSheet.HPageBreaks.Count
Redim Seite(Z)
If Z = 0 Then
Set Seite(Z) = WS.Range(Cells(1, 1), Cells(AnzZn, AnzSn))
Else
For U = Z To 0 Step -1
If U = Z Then
Set Seite(U) = WS.Range(Cells(WS.HPageBreaks(U).Location.Row, 1), Cells(AnzZn, AnzSn))
Else
If U > 1 Then Set Seite(U) = WS.Range(Cells(WS.HPageBreaks(U).Location.Row, 1), Cells(WS.HPageBreaks(U + 1).Location.Row - 1, AnzSn))
If U = 1 Then Set Seite(U) = WS.Range(Cells(WS.HPageBreaks(U).Location.Row, AnzSn), Cells(WS.HPageBreaks(U + 1).Location.Row - 1, 1))
If U = 0 Then Set Seite(U) = WS.Range(Cells(1, AnzSn), Cells(WS.HPageBreaks(U + 1).Location.Row - 1, 1))
End If
Next U
End If
For Each AZ In WS.UsedRange.Columns(5).Cells 'Spalte wo Seitenzahl stehen wird hier Spalte E=5
For U = 0 To Z
If Not Intersect(AZ, Seite(U)) Is Nothing Then
AZ = U + 1
Exit For
End If
Next U
Next AZ
Application.ScreenUpdating = True
End Sub
Alles andere müßte dementsprechend angepasst werden.
Link zum Thema: http://www.office-loesung.de/ftopic4417_0_0_asc.php
Gruß Matze