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

Forumthread: Hyperlink auf Tabellenblatt A1

Hyperlink auf Tabellenblatt A1
24.08.2006 06:40:36
Erich
Hallo EXCEL-Freunde,
habe auf einem Tabellenblatt, Spalte A, ab Zeile3, untereinander die Namen der
Tabellenblätter alphabetisch aufgelistet. Da immer wieder Tabellenblätter
eingefügt und entnommen werden, ändert sich diese Übersicht immer wieder.
Dies realisiere ich durch die Erstellung einer Inhaltsübersicht der Tabellenblätter.
Da nur Tabellen betroffen sind, die zwischen einer Tabelle "Beginn" und einer
Tabelle "Ende" stehen, ist das zunächst unproblematisch.
Allerdings muß ich manuell immer die Hyperlinks anpassen, die in der Spalte A,
ab Zeile 3 stehen. Gibt es eine Möglichkeit, dass der Hyperlink immer auf den
Tabellennamen angepasst wird mit Verweis auf A1 der betreffenden Tabelle?
Besten Dank!
mfg
Erich
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag
24.08.2006 06:53:24
Erich
Hallo,
bin einen Schritt weiter. Folgendes Makro schreibt die Tabellenblätter mit Hyperlinks
in die Spalte A der Tabelle Test:
For Each Blatt In Sheets
Sheets("Test").Cells(zeile, 1).Value = Blatt.Name
Sheets("Test").Hyperlinks.Add Anchor:=Cells(zeile, 1), Address:="", SubAddress:="'" & _
Blatt.Name & "'!A1", TextToDisplay:=Blatt.Name
zeile = zeile + 1
Next Blatt
und so sieht das Ergebnis aus:
Test

 AB
2  
3InhaltsverzeichnisNEIN
4BeginnNEIN
5Tabelle1JA
6Tabelle2JA
7Tabelle3JA
8Tabelle4JA
9Tabelle5JA
10Tabelle6JA
11Tabelle7JA
12Tabelle8JA
13Tabelle9JA
14EndeNEIN
15Test1NEIN
16Test2NEIN
17Test3NEIN


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Jetzt müsste der Code so angepasst werden, dass nur die Tabellenblätter zwischen
Beginn und Ende eingetragen werden.
Besten Dank!
mfg
Erich
Anzeige
AW: Nachtrag
24.08.2006 09:07:54
Peter
Hallo Erich,
das könnte so gehen:
Public Sub Hyperaktiv() Dim Blatt Dim Zeile As Integer Zeile = 2 For Each Blatt In Sheets If UCase(Left(Blatt.Name, 7)) = "tabelle" Then Sheets("Test").Cells(Zeile, 1).Value = Blatt.Name Sheets("Test").Hyperlinks.Add Anchor:=Cells(Zeile, 1), _ Address:="", SubAddress:="'" & _ Blatt.Name & "'!A1", TextToDisplay:=Blatt.Name Zeile = Zeile + 1 End If Next Blatt End Sub
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Nachtrag
25.08.2006 06:53:39
Erich
Hallo Peter,
geht so leider nicht. Entscheidend ist, dass nur die Tabellen zwischen Beginn und Ende
eingetragen werden sollen. Die Nummerierung der Tabellen war nur ein Muster. Die Namen werden
sich immer wieder ändern.
Noch eine Idee?
Besten Dank!
mfg
Erich
Alle Blätter auflisten und verlinken - ohne VBA
24.08.2006 08:46:29
{Boris}
Hi Erich,
ich mach das immer ganz ohne VBA.
Definiere den Namen x mit Bezug auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
Schreibe in irgendeine Zelle diese Formel und kopier sie so weit runter, wie du glaubst, dass die Mappe irgendwann mal Blätter haben könnte:
=WENN(ZEILE(A1)&gtANZAHL2(x);"";HYPERLINK("#'"&INDEX(x;ZEILE(A1))&"'!A1";TEIL(INDEX(x;ZEILE(A1));FINDEN("]";INDEX(x;ZEILE(A1)))+1;99)))
Eingefügte / gelöschte Blätter werden automatisch erkannt.
Grüße Boris
Anzeige
AW: Alle Blätter auflisten und verlinken - ohne VB
25.08.2006 06:57:43
Erich
Hallo Boris,
besten Dank. Den Namen anzulegen funktioniert. Bei der Formel erhalte ich jedoch #NAME?
als Ergebnis.
Allerdings würde mir das auch nicht ganz weiterhelfen, weil ich nur die Tabellenblätter zwischen
Beginn und Ende benötige.
mfg
Erich
Das kann nicht sein...
25.08.2006 08:51:41
{Boris}
Hi Erich,
Den Namen anzulegen funktioniert. Bei der Formel erhalte ich jedoch #NAME?
als Ergebnis.

#NAME? kommt nur, wenn du gerade den Namen nicht richtig angelegt hast.
Drück Strg+F3, unter "Namen in der Arbeitsmappe" gibst du x vor, und unten unter "Bezieht sich auf" gibst du ein:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
Das funktioniert - glaub´s mir.
Allerdings würde mir das auch nicht ganz weiterhelfen, weil ich nur die Tabellenblätter zwischen Beginn und Ende benötige.
Wenn "Beginn" und "Ende" immer das erste und letzte Blatt sind, dann muss die Formel nur unwesentlich geändert werden:
=WENN(ZEILE(A2)&gt=ANZAHL2(x);"";HYPERLINK("#'"&INDEX(x;ZEILE(A2))&"'!A1";TEIL(INDEX(x;ZEILE(A2));FINDEN("]";INDEX(x;ZEILE(A2)))+1;99)))
Grüße Boris
Anzeige
Das kann nicht sein...
26.08.2006 07:12:31
Erich
Hallo Boris,
danke nochmal; da habe ich nicht genau hingeschaut, Deine erste Formel wurde von meinem Browser falsch
angezeigt:
=WENN(ZEILE(A1)&gtANZA....
Das Zeichen ~f~&gt wurde falsch angezeigt; hätte ich merken müssen.
Ich lasse die Frage trotzdem noch offen, weil die VBA-Lösung den Vorteil hätte, dass
die Tabelle Beginn nicht an einer bestimmten Stelle stehen müsste. Jetzt habe ich diese
mal als dritte Tabelle fixiert. Normalerweise wechselt die immer wieder.
Also falls jemand noch eine VBA-Lösung hätte, besten Dank!
mfg
Erich
Private Tippgemeinschaft für Lotto oder Keno: http://www.kenostrategen.de
Anzeige
Dann eben per VBA
26.08.2006 15:00:33
{Boris}
Hi Erich,
ich geh mal davon aus, dass die Verlinkung im Blatt "Beginn" erfolgen soll.
Ohne weitere Fehlerbehandlung:
Option Explicit

Sub link_it()
Dim i As Integer, k As Integer
For i = Worksheets("Beginn").Index + 1 To Worksheets("Ende").Index - 1
k = k + 1
With Worksheets("Beginn")
.Cells(k + 2, 1) = Worksheets(i).Name
.Hyperlinks.Add anchor:=.Cells(k + 2, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1"
End With
Next i
End Sub

Grüße Boris
Anzeige
Super gelöst - Danke Boris! o.T.
26.08.2006 16:13:39
Erich
mfg
Erich
Private Tippgemeinschaft für Lotto oder Keno: http://www.kenostrategen.de
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Hyperlink auf Tabellenblatt A1 erstellen und verwalten


Schritt-für-Schritt-Anleitung

Um einen Hyperlink auf ein Tabellenblatt in Excel zu erstellen und automatisch zu aktualisieren, kannst Du folgende Schritte ausführen:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder öffne ein bestehendes.

  2. Öffne den VBA-Editor:

    • Drücke ALT + F11 auf Deiner Tastatur.
  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinDateiname)" > Einfügen > Modul.
  4. Kopiere und füge den folgenden VBA-Code in das Modul ein:

    Sub link_it()
       Dim i As Integer, k As Integer
       For i = Worksheets("Beginn").Index + 1 To Worksheets("Ende").Index - 1
           k = k + 1
           With Worksheets("Beginn")
               .Cells(k + 2, 1) = Worksheets(i).Name
               .Hyperlinks.Add anchor:=.Cells(k + 2, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1"
           End With
       Next i
    End Sub
  5. Schließe den VBA-Editor.

  6. Führe das Makro aus:

    • Gehe zurück zu Excel, drücke ALT + F8, wähle link_it und klicke auf "Ausführen".

Diese Schritte fügen automatisch Hyperlinks zu den Tabellenblättern zwischen "Beginn" und "Ende" in das Arbeitsblatt ein.


Häufige Fehler und Lösungen

  • Fehler: #NAME? bei der Formel

    • Lösung: Stelle sicher, dass der Name 'x' korrekt eingerichtet ist. Drücke Strg + F3, um die Namen in der Arbeitsmappe zu überprüfen.
  • Fehler: Hyperlinks werden nicht aktualisiert

    • Lösung: Verwende VBA, um die Hyperlinks automatisch zu generieren, wenn Du neue Blätter hinzufügst oder entfernst.
  • Hyperlink führt nicht zum richtigen Tabellenblatt

    • Lösung: Überprüfe, ob die Tabellennamen korrekt sind und keine Leerzeichen oder Sonderzeichen enthalten.

Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch folgende Formel nutzen:

  1. Definiere den Namen x mit Bezug auf:

    =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
  2. Verwende diese Formel in einer Zelle, um die Hyperlinks zu erstellen:

    =WENN(ZEILE(A1)>ANZAHL2(x);"";HYPERLINK("#'"&INDEX(x;ZEILE(A1))&"'!A1";TEIL(INDEX(x;ZEILE(A1));FINDEN("]";INDEX(x;ZEILE(A1)))+1;99)))

Diese Methode ermöglicht es, die Hyperlinks zu Tabellenblättern ohne VBA zu generieren.


Praktische Beispiele

Hier sind einige Beispiele zur Verlinkung von Tabellenblättern in Excel:

  1. Hyperlink zu einem Blatt erstellen:

    • Ziel: Tabelle1
    • Formel:
      =HYPERLINK("#'Tabelle1'!A1", "Zu Tabelle 1")
  2. Dynamische Verlinkung:

    • Wenn Du mehrere Tabellen hast und möchtest, dass der Link immer aktuell bleibt, nutze INDEX und HYPERLINK wie oben beschrieben.

Tipps für Profis

  • Nutze die Excel-Tastenkombinationen und VBA, um den Prozess zu automatisieren und Zeit zu sparen.
  • Halte Deine Tabellenblätter gut strukturiert, um die Verlinkung zwischen den Tabellenblättern zu erleichtern.
  • Baue Fehlerbehandlungen in Deinen VBA-Code ein, um unerwartete Probleme zu vermeiden.

FAQ: Häufige Fragen

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

  • Du kannst das folgende Format verwenden:
     =HYPERLINK("#'Tabellenblattname'!Zelle", "Text anzeigen")

2. Funktioniert die VBA-Lösung in allen Excel-Versionen?

  • Ja, die VBA-Lösung sollte in den meisten modernen Excel-Versionen funktionieren, solange Du Zugriff auf den VBA-Editor hast.

3. Was mache ich, wenn mein Hyperlink nicht funktioniert?

  • Überprüfe den Tabellennamen und stelle sicher, dass keine Tippfehler oder Leerzeichen vorhanden sind. Kontrolliere auch, ob das Zielblatt existiert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige