985 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich benötige ein Makro mit dem ein Inhaltsverzeichnis mit allen in der Arbeitsmappe befindlichen Tabellenblätter auflisten. Danach sollen die Einträge mit einem Link zu den Tabellen ausgeführt werden. Zusätzlich soll die Zelle C4 in der Zelle neben der Auflistung angezeigt werden.

z. B.

Inhaltsverzeichnis

Tabellenblatt
Tabelle 1 - Wert aus Zelle C4
Tabelle 2 - Wert aus Zelle C4
Tabelle 3 - Wert aus Zelle C4


usw.


Danke

Angel

4 Antworten

0 Punkte
Beantwortet von
Hallo

dieses Makro verwende ich bereits. nun soll aus den tabellen jeweils die Zelle C4 angefügt werden

Sub MappenInhaltsverzeichnisErstellen()
Dim Tabelle As Worksheet
Dim i As Integer
Worksheets.Add.Move before:=Worksheets(1)
ActiveSheet.Name = "Inhaltsverzeichnis"
Cells(2, 2).Value = "Enthaltene Arbeitsblätter"
i = 3
For Each Tabelle In ActiveWorkbook.Worksheets
If Tabelle.Name <> "Inhaltsverzeichnis" Then
Cells(i, 2).Value = Tabelle.Name
Tabelle.Hyperlinks.Add Anchor:=Cells(i, 2), _
Address:="", SubAddress:="'" & Tabelle.Name & "'" & _
"!A1", ScreenTip:="zum Tabellenblatt", _
TextToDisplay:=Tabelle.Name
i = i + 1
End If
Next Tabelle
End Sub

Danke

Angel
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

versuch es mal so:

Sub MappenInhaltsverzeichnisErstellen()
Dim Tabelle As Worksheet
Dim i As Integer
Worksheets.Add.Move before:=Worksheets(1)
ActiveSheet.Name = "Inhaltsverzeichnis"
Cells(2, 2).Value = "Enthaltene Arbeitsblätter"
i = 3
For Each Tabelle In ActiveWorkbook.Worksheets
If Tabelle.Name <> "Inhaltsverzeichnis" Then
Cells(i, 2).Value = Tabelle.Name
Tabelle.Hyperlinks.Add Anchor:=Cells(i, 2), _
Address:="", SubAddress:="'" & Tabelle.Name & "'" & _
"!A1", ScreenTip:="zum Tabellenblatt", _
TextToDisplay:=Tabelle.Name

Cells(i, 3) = Sheets(Tabelle.Name).Cells(4, 3)

i = i + 1
End If
Next Tabelle
End Sub


Gruß

M.O.
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

wollte eigentlich die eingefügte Zeile

Cells(i, 3) = Sheets(Tabelle.Name).Cells(4, 3)


Fett haben, macht er aber nicht.

Also die Zeile ist so richtig:

Cells(i, 3) = Sheets(Tabelle.Name).Cells(4, 3)


Gruß

M.O.
0 Punkte
Beantwortet von
danke das war es
vielen dank
...