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

Forumthread: link zum Tabellenblatt automatisch einfuegen

link zum Tabellenblatt automatisch einfuegen
15.05.2006 19:42:14
Marita
Hallo allerseits,
ich habe gerade ein Makro gebastelt, das mir nach einer Abfrage des gewuenschten Tabellenblattnamens ein neues Blatt mit dem eingegebenem Namen einfuegt. Auf einer Uebersichtsseite werden alle Tabellenblattnamen von oben nach unten aufgelistet, so wie die Blaetter in der Datei von links nach rechts positioniert sind.
Bis jetzt wird der Tabellenblattname in der Uebersichtsliste einfach als Wort dargestellt, sollte aber als Link zum jeweiligen Blatt zur Verfuegung stehen.
Wie mache ich das, dass der Blattname als Link in die jeweilige Zelle eingetragen wird?
Danke und Gruss, Marita
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: link zum Tabellenblatt automatisch einfuegen
15.05.2006 20:12:44
Ramses
Hallo
probier mal das Makro aus
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
Variante ohne VBA
15.05.2006 21:19:00
{Boris}
Hi Marita,
das geht auch ohne VBA.
Definiere einen Namen (Strg+F3), Name: Alle
Bezieht sich auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
Jetzt schreibe in deinem Übersichtsblatt in irgendeine Zelle diese Formel und kopier sie so weit runter, wie das Blatt irgendwann mal Blätter haben könnte:
=WENN(ZEILEN($1:1)&gtANZAHL2(Alle);"";HYPERLINK("#'"&INDEX(Alle;ZEILEN($1:1))&"'!A1";TEIL(INDEX(Alle;ZEILEN($1:1));FINDEN("]";INDEX(Alle;ZEILEN($1:1)))+1;31)))
Somit hast du alle Blätter verlinkt. Gelöschte / hinzugefügte Blätter werden automatisch erkannt.
Grüße Boris
Anzeige
danke
15.05.2006 22:06:47
Marita
Hallo Ramses und Boris,
danke fuer eure beiden Loesungen. Ich habe mich jetzt fuer die VBA-Variante entschieden, weil ich die ganz einfach in ein bestehendes Makro einbauen konnte!
Liebe Gruesse, Marita
AW: Variante ohne VBA
15.05.2006 22:30:58
Bertram
Hi Boris,
ich hab's zwar noch nicht getestet, aber bei dir gehe ich davon aus dass es funktioniert. Diese Version kann mir auch noch hilfreich sein.
Wie zum Teufel kommt man auf so geniale Ideen? Brilliant.
Gruß
Bertram
Anzeige
AW: Variante ohne VBA
15.05.2006 23:26:37
{Boris}
Hi Bertram,
das ist quasi eine Standard-Anwendung bei mir. Taucht in jeder Mappe auf, die mehrere Blätter hat und in einem separaten Blatt eine Übersicht benötigt.
Ist wirklich sehr hilfreich.
Der eigentliche Trick liegt in der Anwendung der Excel4Macrofunktion ARBEITSMAPPE.ZUORDNEN - und das "verflüchtigen" mit dem Zusatz 0*JETZT().
Der Rest in der Formel ist im Prinzip reine Indizierung sowie Stringzerlegung.
Grüße Boris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Link zum Tabellenblatt automatisch einfügen


Schritt-für-Schritt-Anleitung

Um automatisch Links zu anderen Tabellenblättern in Excel zu erstellen, kannst du entweder ein VBA-Makro verwenden oder eine Formel nutzen. Hier sind die Schritte für beide Methoden:

Methode 1: VBA-Makro

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul.

  3. Füge den folgenden Code ein:

    Sub Create_Hyperlink_Table_of_Contents()
        Dim tarWks As Worksheet
        Dim i As Integer
    
        Set tarWks = Worksheets("Inhalt")
        tarWks.Columns(1).ClearContents
        tarWks.Cells(1, 1) = "Inhalt"
    
        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
    
        tarWks.Columns(1).Sort Key1:=tarWks.Range("A1"), Order1:=xlAscending, Header:=xlGuess
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Hyperlinks zu erstellen.

Methode 2: Formel

  1. Definiere einen Namen für deine Blätter:

    • Drücke Strg + F3, klicke auf Neu, und nenne ihn Alle.
    • Verwende die Formel: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT()).
  2. Schreibe in dein Übersichtsblatt in die Zelle A2 folgende Formel und ziehe sie nach unten:

    =WENN(ZEILEN($1:1)>ANZAHL2(Alle);"";HYPERLINK("#'"&INDEX(Alle;ZEILEN($1:1))&"'!A1";TEIL(INDEX(Alle;ZEILEN($1:1));FINDEN("]";INDEX(Alle;ZEILEN($1:1)))+1;31)))

Häufige Fehler und Lösungen

Fehler 1: Makro funktioniert nicht

  • Stelle sicher, dass du das Makro in der richtigen Arbeitsmappe ausführst und dass die Tabelle "Inhalt" existiert.

Fehler 2: Hyperlinks zeigen nicht auf das richtige Blatt

  • Überprüfe die Schreibweise der Blattnamen im Makro. Diese müssen exakt mit den Namen der Blätter übereinstimmen.

Fehler 3: Formel gibt Fehler zurück

  • Achte darauf, dass du die Namen korrekt definiert hast und dass die Funktion ARBEITSMAPPE.ZUORDNEN in deiner Excel-Version verfügbar ist.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch manuell Hyperlinks erstellen:

  1. Wähle die Zelle aus, in der der Link erscheinen soll.
  2. Klicke mit der rechten Maustaste und wähle Link.
  3. Wähle in der linken Spalte Aktuelles Dokument und wähle das gewünschte Tabellenblatt.

Diese Methode ist jedoch zeitaufwendiger, besonders wenn viele Blätter verlinkt werden müssen.


Praktische Beispiele

  1. VBA-Beispiel: Das oben genannte VBA-Makro erstellt ein Inhaltsverzeichnis mit Hyperlinks zu allen Blättern. Ideal für große Arbeitsmappen.

  2. Formelbeispiel: Die Formel von Boris ermöglicht es dir, die Übersicht dynamisch zu aktualisieren, wenn Blätter hinzugefügt oder entfernt werden.


Tipps für Profis

  • Verwendung von Tastenkombinationen: Nutze ALT + F8, um Makros schnell auszuführen.
  • Mehrere Hyperlinks: Wenn du mehrere Hyperlinks in einer Zelle unterbringen möchtest, kannst du dies mit einem Makro automatisieren.
  • Excel-Tabellen: Wenn du deine Daten in einer Excel-Tabelle verwaltest, kannst du diese auch automatisch verlinken, indem du die Tabellenreferenzen nutzt.

FAQ: Häufige Fragen

1. Wie kann ich einen Hyperlink zu einer bestimmten Zelle in einem anderen Tabellenblatt erstellen?

  • Verwende die Syntax HYPERLINK("#'Blattname'!Zelle"; "Text"). Ersetze Blattname durch den Namen des Zielblatts und Zelle durch die gewünschte Zelle.

2. Ist es möglich, Hyperlinks in Excel automatisch zu aktualisieren?

  • Ja, wenn du die Formel-Methode verwendest, werden die Hyperlinks automatisch aktualisiert, wenn Blätter hinzugefügt oder entfernt werden.

3. Funktioniert das VBA-Makro in allen Excel-Versionen?

  • Das VBA-Makro sollte in den meisten modernen Excel-Versionen (ab 2007) funktionieren. Achte darauf, dass die Makros in deinen Excel-Einstellungen aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige