INHALTSVERZEICHNIS

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
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

Beiträge aus den Excel-Beispielen zum Thema "INHALTSVERZEICHNIS"