Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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
Inhaltsverzeichnis

VBA Inhaltsverzeichnis o. ausg. T-Blatt

VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl

Moin Zusammen,

ich hoffe es geht Euch gut :)

Ich möchte gerne ein aktuelles Inhaltsverzeichnis in einem Tabellenblatt via Button erstellen. Wichtig ist, dass die ausgeblendeten Tabellenblätter nicht mit aufgelistet werden.
Das Makro, welches ich aktuell verwende ist (auch aus dem Forum):


Sub CommandButton1_Click()
'Erstellt ein Inhaltsverzeichnis auf alle Tabellen einer
'Mappe mit Hyperlinks auf die jeweiligen Tabellen
Dim tarWks As Worksheet
Dim i As Integer, myRow As Integer, tmpCnt As Integer
'Blattnamen anpassen
Set tarWks = Worksheets("Overview")
'Bestehenden Inhalt löschen
tarWks.Columns(1).ClearContents
tarWks.Cells(1, 1) = "Overview"
'Erstellen des Inhaltsverzeichnisses
'Vertikal
For i = 2 To Worksheets.Count
tarWks.Cells(i, 1) = Worksheets(i).Name
Cells(i, 1).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
Next i
'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Horizontal
'tmpCnt = 1
'myRow = 1
'For i = 1 To Worksheets.Count
'     If i Mod 256 = 0 Then
'          tmpCnt = 1
'          myRow = myRow + 1
'     End If
'     If Worksheets(i).Name <> tarwks.Name Then
'          tarwks.Cells(myRow, tmpCnt) = Worksheets(i).Name
'          Cells(myRow, tmpCnt).Hyperlinks.Add Anchor:=Cells(myRow, tmpCnt), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
'          tmpCnt = tmpCnt + 1
'     End If
'Next i
End Sub
Hat jemand einen Tip, wie ich das Makro so erweitern kann, dass ausgeblendete Tabellenblätter "ignoriert" werden?

Danke und beste Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo Carl,

probiers mal damit:


Option Explicit
Sub TabellenNamenAuflisten() '* ohne ausgeblendete
Dim blatt As Worksheet, arrNamen, lCount&, lSheetsCount&
lSheetsCount = Sheets.Count
arrNamen = Range("A1:A" & lSheetsCount)
For Each blatt In ActiveWorkbook.Worksheets
If blatt.Visible = True Then
lCount = lCount + 1
arrNamen(lCount, 1) = blatt.Name
End If
Next blatt
Range("A1:A" & lSheetsCount) = arrNamen
End Sub
Servus

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo Carl,


Sub CommandButton1_Click()
'Erstellt ein Inhaltsverzeichnis auf alle Tabellen einer
'Mappe mit Hyperlinks auf die jeweiligen Tabellen
Dim ws As Worksheet
Dim Z As Range
With Worksheets("Overview")
.Columns(1).ClearContents 'Bestehenden Inhalt löschen
.Cells(1, 1) = "Overview"
For Each ws In Worksheets
If ws.Name <> .Name Then
If ws.Visible Then
Set Z = ws.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Z.Value = ws.Name
Z.Hyperlinks.Add Anchor:=Z, Address:="", SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=ws.Name
End If
End If
Next
'Sortiert das Inhaltsverzeichnis
.Columns(1).Sort Key1:=.Range("A1"), Order1:=xlAscending
End With
End Sub

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Großartig danke Yal!!

Hast du evtl. auch eine Idee, wie man noch den Zusatz reinkriegt, dass die Tabellenblätter in der Reihenfolge gelistet werden wie sie in Excel auftauchen anstatt in alphabetischer Reihenfolge?

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo,

     'Vertikal
For i = 2 To Worksheets.Count
If worksheets(i).visible then
tarWks.Cells(i, 1) = Worksheets(i).Name
Cells(i, 1).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
end if
Next i
Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Genial Rudi, vielen Dank, funktioniert genau so wie ich es wollte - Danke !!

hast du auch noch einen tip, wie ich die Tabellenblätter in der Reihenfolge im Inhaltsverzeichnis gelistet kriege, wie sie bei mir in der Excel auftauchen?
Aktuell listet mir das Makro die Tabellenblätter alphabetisch.

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
Hallo Carl,

probiers mal damit:


Option Explicit
Sub TabellenNamenAuflisten() '* ohne ausgeblendete
Dim blatt As Worksheet, arrNamen, lCount&, lSheetsCount&
lSheetsCount = Sheets.Count
arrNamen = Range("A1:A" & lSheetsCount)
For Each blatt In ActiveWorkbook.Worksheets
If blatt.Visible = True Then
lCount = lCount + 1
arrNamen(lCount, 1) = blatt.Name
End If
Next blatt
Range("A1:A" & lSheetsCount) = arrNamen
End Sub
Servus

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo Carl,


Sub CommandButton1_Click()
'Erstellt ein Inhaltsverzeichnis auf alle Tabellen einer
'Mappe mit Hyperlinks auf die jeweiligen Tabellen
Dim ws As Worksheet
Dim Z As Range
With Worksheets("Overview")
.Columns(1).ClearContents 'Bestehenden Inhalt löschen
.Cells(1, 1) = "Overview"
For Each ws In Worksheets
If ws.Name <> .Name Then
If ws.Visible Then
Set Z = ws.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Z.Value = ws.Name
Z.Hyperlinks.Add Anchor:=Z, Address:="", SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=ws.Name
End If
End If
Next
'Sortiert das Inhaltsverzeichnis
.Columns(1).Sort Key1:=.Range("A1"), Order1:=xlAscending
End With
End Sub

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Großartig danke Yal!!

Hast du evtl. auch eine Idee, wie man noch den Zusatz reinkriegt, dass die Tabellenblätter in der Reihenfolge gelistet werden wie sie in Excel auftauchen anstatt in alphabetischer Reihenfolge?

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo,

     'Vertikal
For i = 2 To Worksheets.Count
If worksheets(i).visible then
tarWks.Cells(i, 1) = Worksheets(i).Name
Cells(i, 1).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
end if
Next i
Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Genial Rudi, vielen Dank, funktioniert genau so wie ich es wollte - Danke !!

hast du auch noch einen tip, wie ich die Tabellenblätter in der Reihenfolge im Inhaltsverzeichnis gelistet kriege, wie sie bei mir in der Excel auftauchen?
Aktuell listet mir das Makro die Tabellenblätter alphabetisch.

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
Hallo Carl,


Sub CommandButton1_Click()
'Erstellt ein Inhaltsverzeichnis auf alle Tabellen einer
'Mappe mit Hyperlinks auf die jeweiligen Tabellen
Dim ws As Worksheet
Dim Z As Range
With Worksheets("Overview")
.Columns(1).ClearContents 'Bestehenden Inhalt löschen
.Cells(1, 1) = "Overview"
For Each ws In Worksheets
If ws.Name <> .Name Then
If ws.Visible Then
Set Z = ws.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Z.Value = ws.Name
Z.Hyperlinks.Add Anchor:=Z, Address:="", SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=ws.Name
End If
End If
Next
'Sortiert das Inhaltsverzeichnis
.Columns(1).Sort Key1:=.Range("A1"), Order1:=xlAscending
End With
End Sub

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Großartig danke Yal!!

Hast du evtl. auch eine Idee, wie man noch den Zusatz reinkriegt, dass die Tabellenblätter in der Reihenfolge gelistet werden wie sie in Excel auftauchen anstatt in alphabetischer Reihenfolge?

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo,

     'Vertikal
For i = 2 To Worksheets.Count
If worksheets(i).visible then
tarWks.Cells(i, 1) = Worksheets(i).Name
Cells(i, 1).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
end if
Next i
Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Genial Rudi, vielen Dank, funktioniert genau so wie ich es wollte - Danke !!

hast du auch noch einen tip, wie ich die Tabellenblätter in der Reihenfolge im Inhaltsverzeichnis gelistet kriege, wie sie bei mir in der Excel auftauchen?
Aktuell listet mir das Makro die Tabellenblätter alphabetisch.

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
Großartig danke Yal!!

Hast du evtl. auch eine Idee, wie man noch den Zusatz reinkriegt, dass die Tabellenblätter in der Reihenfolge gelistet werden wie sie in Excel auftauchen anstatt in alphabetischer Reihenfolge?

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Hallo,

     'Vertikal
For i = 2 To Worksheets.Count
If worksheets(i).visible then
tarWks.Cells(i, 1) = Worksheets(i).Name
Cells(i, 1).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
end if
Next i
Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Genial Rudi, vielen Dank, funktioniert genau so wie ich es wollte - Danke !!

hast du auch noch einen tip, wie ich die Tabellenblätter in der Reihenfolge im Inhaltsverzeichnis gelistet kriege, wie sie bei mir in der Excel auftauchen?
Aktuell listet mir das Makro die Tabellenblätter alphabetisch.

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
Hallo,

     'Vertikal
For i = 2 To Worksheets.Count
If worksheets(i).visible then
tarWks.Cells(i, 1) = Worksheets(i).Name
Cells(i, 1).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
end if
Next i
Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
Genial Rudi, vielen Dank, funktioniert genau so wie ich es wollte - Danke !!

hast du auch noch einen tip, wie ich die Tabellenblätter in der Reihenfolge im Inhaltsverzeichnis gelistet kriege, wie sie bei mir in der Excel auftauchen?
Aktuell listet mir das Makro die Tabellenblätter alphabetisch.

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
Genial Rudi, vielen Dank, funktioniert genau so wie ich es wollte - Danke !!

hast du auch noch einen tip, wie ich die Tabellenblätter in der Reihenfolge im Inhaltsverzeichnis gelistet kriege, wie sie bei mir in der Excel auftauchen?
Aktuell listet mir das Makro die Tabellenblätter alphabetisch.

Danke und liebe Grüße
Carl

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
indem du

         'Sortiert das Inhaltsverzeichnis
tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
löschst oder auskommentierst.

Gruß
Rudi

nach oben  nach unten

Betrifft: AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige
AW: VBA Inhaltsverzeichnis o. ausg. T-Blatt
16.11.2022 13:36:53
Carl
vielen Dank ! Echt großartig :) Klappt alle! Liebe Grüße Carl

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige