Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Inhaltsverzeichnis mit Hyperlinks per Makro

Inhaltsverzeichnis mit Hyperlinks per Makro
27.11.2008 21:39:16
Max
Hallo Excelperten,
ich habe häufiger mit Excel-Dateien mit vielen Tabellenblättern zu tun und bräuchte hierfür ein Makro, das
1) ein neues Tabellenblatt zu Beginn der Datei einfügt
2) ein "Inhaltsverzeichnis" aller in der Datei vorhandenen Tabellenblätter anlegt (untereinander gelistet)
3) Hyperlinks auf die jeweiligen Tabellenblätter in das Inhaltsverzeichnis einfügt.
Würde mir sehr viel Zeit sparen, wenn mir hierzu jemand weiterhelfen kann ...
Besten Dank im Voraus
Max
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhaltsverzeichnis mit Hyperlinks per Makro
27.11.2008 21:43:00
Gerd
Hi,
Rechtsklick auf die Pfeile links unten.
mfg Gerd
AW: Inhaltsverzeichnis mit Hyperlinks per Makro
27.11.2008 22:13:00
Ramses
Hallo
Alternativ vielleicht so
Sub Create_Hyperlink_Table_of_Contents()
    '(C) Ramses
    '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("Inhalt")
    'Bestehenden Inhalt löschen
    tarWks.Columns(1).ClearContents
    tarWks.Cells(1, 1) = "Inhalt"
    '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

Gruss Rainer
Anzeige
AW: Inhaltsverzeichnis mit Hyperlinks per Makro
28.11.2008 11:45:03
Max
Hallo Rainer,
die zwei Befehls-Zeilen um ein neues Tabellenblatt einzufügen und entsprechend zu benennen habe ich selbst hinbekommen und danach funktioniert das Makro dann klasse!!! ... wird in Zukunft eine echte Erleichterung für mich sein!
Vielen Dank und ein schönes Wochenende!
Max
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Inhaltsverzeichnis in Excel mit Hyperlinks erstellen


Schritt-für-Schritt-Anleitung

Um ein Inhaltsverzeichnis in Excel mit Hyperlinks zu erstellen, kannst Du das folgende VBA-Makro verwenden. Dieses Makro fügt ein neues Tabellenblatt hinzu und listet alle vorhandenen Tabellenblätter mit Hyperlinks auf:

  1. Öffne Deine Excel-Datei.
  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden Code in das Modul ein:
Sub Create_Hyperlink_Table_of_Contents()
    Dim tarWks As Worksheet
    Dim i As Integer

    ' Neues Tabellenblatt einfügen
    Set tarWks = Worksheets.Add(Before:=Worksheets(1))
    tarWks.Name = "Inhaltsverzeichnis"

    ' Bestehenden Inhalt löschen
    tarWks.Cells.Clear

    ' Erstellen des Inhaltsverzeichnisses
    tarWks.Cells(1, 1) = "Inhaltsverzeichnis"

    For i = 1 To Worksheets.Count
        If Worksheets(i).Name <> "Inhaltsverzeichnis" Then
            tarWks.Cells(i + 1, 1) = Worksheets(i).Name
            tarWks.Hyperlinks.Add Anchor:=tarWks.Cells(i + 1, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
        End If
    Next i

    ' Optional: Sortieren des Inhaltsverzeichnisses
    tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle Create_Hyperlink_Table_of_Contents und klicke auf Ausführen.

Das Makro erstellt nun automatisch ein Inhaltsverzeichnis mit Hyperlinks zu den verschiedenen Tabellenblättern in Deiner Excel-Datei.


Häufige Fehler und Lösungen

  • Fehler: "Das Tabellenblatt 'Inhaltsverzeichnis' kann nicht erstellt werden."

    • Lösung: Stelle sicher, dass kein Tabellenblatt mit dem Namen "Inhaltsverzeichnis" bereits existiert. Benenne es gegebenenfalls um oder lösche es.
  • Fehler: Hyperlinks funktionieren nicht.

    • Lösung: Überprüfe, ob das Makro korrekt ausgeführt wurde und alle Tabellenblätter aufgelistet sind.

Alternative Methoden

Wenn Du kein Makro verwenden möchtest, kannst Du auch manuell ein Inhaltsverzeichnis in Excel erstellen:

  1. Erstelle ein neues Tabellenblatt.
  2. Schreibe die Namen der Tabellenblätter manuell in die Zellen.
  3. Füge Hyperlinks hinzu, indem Du die Zelle wählst, mit der rechten Maustaste klickst und Hyperlink auswählst.

Diese Methode ist jedoch zeitaufwendiger, insbesondere bei vielen Tabellenblättern.


Praktische Beispiele

Hier ist ein Beispiel, wie Du das Makro anpassen kannst, um es an Deine Bedürfnisse anzupassen:

  • Wenn Du zusätzliche Informationen zu jedem Tabellenblatt hinzufügen möchtest, kannst Du eine weitere Spalte im Inhaltsverzeichnis einfügen.
  • Du kannst auch die Schriftart oder -größe im Inhaltsverzeichnis anpassen, um es visuell ansprechender zu gestalten.

Tipps für Profis

  • Überlege, das Inhaltsverzeichnis automatisch zu aktualisieren, wenn Du neue Tabellenblätter hinzufügst oder bestehende umbenennst.
  • Experimentiere mit der Formatierung des Inhaltsverzeichnisses, um es an Deine persönliche Vorliebe anzupassen.
  • Nutze die Funktion xlSortNormal, um das Inhaltsverzeichnis nach spezifischen Kriterien zu sortieren.

FAQ: Häufige Fragen

1. Wie kann ich das Inhaltsverzeichnis automatisch aktualisieren? Du kannst das Makro regelmäßig ausführen, um sicherzustellen, dass alle neuen oder umbenannten Tabellenblätter im Inhaltsverzeichnis aufgeführt sind.

2. Funktioniert das Makro in allen Excel-Versionen? Das Makro sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365. Achte darauf, dass du die Makros aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige