Herbers Excel-Forum - das Archiv

INHALTSVERZEICHNIS

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: INHALTSVERZEICHNIS
von: bernd

Geschrieben am: 25.02.2005 10:29:02
hallo user!
ist es möglich, mit einer art inhaltsverzeichnis bei excel mit vba-code die seitenanzahl der items auszugeben?
danke euch allen
bernd
Bild

Betrifft: nähere erklärung
von: bernd
Geschrieben am: 25.02.2005 10:55:24
angenommen ich hab ne 3 blätter, 2 mit daten, und ein "inhaltsverzeichnis"...
kann ich mit vba herausfinden und in blatt 3 schreiben, auf welcher seite sich eintrag xy auf blatt 1 befindet?
danke für hilfe
bernd


Bild

Betrifft: AW: nähere erklärung
von: Harald E

Geschrieben am: 25.02.2005 11:12:16
Da bin ich wieder ;-))
Bin auf Herbers Excel-CD fündig geworden. Ist also nicht auf meinem Mist gewachsen (darum läuft er auch fehlerfrei)
Der Code kommt in dein Blattmodul und er durchsucht alle Blätter, die vor ! dem aktiven Blatt liegen. Seite zeigt er nicht an, dafür die Fundzelle.
Sub Suchen()
Dim rng As Range
Dim iCounter As Integer
Dim sSearch As String, sAddress As String, sFirst As String
Dim bln As Boolean
sSearch = InputBox("Bitte Suchbegriff eingeben:", , "Suche")
If sSearch = "" Then Exit Sub
For iCounter = ActiveSheet.Index - 1 To 1 Step -1
Set rng = Worksheets(iCounter).Columns("A").Find _
(sSearch, lookat:=xlPart, LookIn:=xlValues)
If Not rng Is Nothing Then
sFirst = rng.Address(False, False)
MsgBox Worksheets(iCounter).Name & "!" & sFirst
bln = True
Do Until sAddress = sFirst
Set rng = Worksheets(iCounter).Columns("A").FindNext(after:=rng)
sAddress = rng.Address(False, False)
If sFirst <> sAddress Then
MsgBox Worksheets(iCounter).Name & "!" & sAddress
End If
Loop
sAddress = ""
sFirst = ""
End If
Next iCounter
If bln = False Then
MsgBox "Der Suchbegriff wurde nicht gefunden!"
End If
End Sub

Gruß
Harald
Bild

Betrifft: prog
von: bernd
Geschrieben am: 25.02.2005 11:19:19
danke dir harald
werde gucken, ob ich damit was mahen kann!
danke
cya
bernd
Bild

Betrifft: Ansatz
von: Martin Beck

Geschrieben am: 25.02.2005 13:21:29
Hallo Bernd,
ich bin nicht sicher, ob ich Dich richtig verstanden habe, aber mal als Ansatz:
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))
Set Prüfen = Application.Intersect(Range(ActiveCell.Address), _
Range(Blatt.Address))
If Prüfen Is Nothing = False Then
ActiveCell = "Aktuelle Druckseiten-Nr. ist " & i
End
End If
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ß
Martin Beck
Bild

Betrifft: AW: danke ....
von: bernd
Geschrieben am: 27.02.2005 06:28:10
danke martin, werds mir gleich mal anschaun... obs funkt
danke für die bemühungen!!
bernd
Bild

Betrifft: mhm..
von: bernd

Geschrieben am: 27.02.2005 06:39:49
hi martin
sieht garnicht so schlecht aus, ich glaube du hast mich richtig verstanden...problem ist nur, dass ich ne fehlermeldung bekomme : anwendung oder obhektdefinierter fehler.....
er makriert mir jedesmal folgende codezeile: ZB = Cells(Cells.Rows.Count, oBlatt).End(xlUp).Row
weiss nicht mehr weiter.... soll ich dir die file mal hochladen??
danke dir
bernd
Bild

Betrifft: Ja, lade die Datei mal hoch (oT)
von: Martin Beck
Geschrieben am: 27.02.2005 21:02:11
 Bild
Excel-Beispiele zum Thema "INHALTSVERZEICHNIS"
Hierarchisch aufgebautes Inhaltsverzeichnis als HTML-File