Hyperlinks auf Tabellenblattnamen

Bild

Betrifft: Hyperlinks auf Tabellenblattnamen
von: MB12
Geschrieben am: 21.07.2015 20:03:57

Hallo zusammen,
aus einem Planungstool wird wöchentlich eine Excel-Auswertung erstellt. Diese Datei umfasst
1. ca 15 Blätter für die wichtigsten Phasen der Produktion von Maschinen. Blattnamen z.B. Konstruktion, Montage. In Spalte A steht jeweils die Bezeichnung der Maschinen, die sich gerade in dieser Phase befinden (Projektnummer-Maschinennummer). Alle rot markierten Maschinen (Terminverzug) müssen detailliert besprochen werden, und zwar unter Verwendung von 
2. ca 200 Blättern mit der Einzelauswertung des Produktionsstands jeder Maschine. Blattnamen sind immer eindeutig (ebenfalls Projektnummer-Maschinennummer). Die Sortierung der Blätter lässt sich leider nicht verwenden.
3. davor und danach weitere Tabellenblätter mit sonstigen Auswertungen und Zusammenfassungen.
Wie oben erwähnt, werden in einer Besprechung die Phasen (siehe 1.) nacheinander besprochen, und zwar immer unter Zuhilfenahme der Einzelauswertungen (siehe 2.).
Ich habe zwar einen Code (siehe unten) im Web gefunden und in einer anderen Datei erfolgreich getestet, durch den ein weiteres Blatt "Inhaltsverzeichnis" generiert wird mit den Namen aller Tabellenblätter als Hyperlink zu sämtlichen Blättern, aber wegen der Menge der Blätter müssten sich die Beteiligten wieder durch eine lange Liste mit 12-stelligen Nummern kämpfen.
Eine große Erleichterung wäre ein Code, durch das von jedem Phasenblatt (1) die Maschinenbezeichnungen in Spalte A zu Hyperlinks zu den darin aufgelisteten Einzelblättern (2) umgewandelt werden. Eine zusätzliche "zurück"-Möglichkeit z.B. mit Strg+irgendwas wäre natürlich der Gipfel.
Eine kleine Musterdatei habe ich beigefügt.
https://www.herber.de/bbs/user/98987.xlsx
Hier der Code "Inhaltsverzeichnis" – sorry, sieht nicht sauber aus (das mit dem ScreenTip:="Klicken Sie um zur Tabelle zu gelangen" scheint bei mir nicht zu funktionieren, da müsste ich vermutlich noch irgend etwas eintragen ??)

Sub Inhaltsverzeichnis()
Dim intTab As Integer
Dim tbl As Worksheet
Dim intZeile As Integer
Set tbl = Worksheets.Add(before:=Worksheets(1))
intZeile = 2
' Zellenüberschriften
ActiveSheet.Name = Worksheets(1).Name
Cells(1, 1).Value = "Überschrift"
Cells(1, 2).Value = "Link"
Cells(1, 1).Font.Bold = True
Cells(1, 2).Font.Bold = True
' eingefügtes Blatt "Inhaltsverzeichnis" nennen
Worksheets(1).Name = "Inhaltsverzeichnis"
ActiveSheet.Name = Worksheets(1).Name
Cells(1, 1).Value = "Enthaltene Blätter"
For intTab = 2 To ActiveWorkbook.Worksheets.Count
tbl.Cells(intZeile, 1).Value = Worksheets(intTab).Name
'Übernahme der Registerblattfarbe als Schriftfarbe
tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color
'Setzen eines Hyperlinks auf Tabellenblatt
tbl.Cells(intZeile, 1).Hyperlinks.Add _
Anchor:=tbl.Cells(intZeile, 1), Address:="", SubAddress:= _
"'" & Worksheets(intTab).Name & "'!A1", _
ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
TextToDisplay:=Worksheets(intTab).Name
intZeile = intZeile + 1
Next intTab
' Spaltenbreite fixieren
Worksheets(1).Cells.EntireColumn.AutoFit
End Sub
Würde sich jemand dieser Sache annehmen?
Vielen Dank schon jetzt!

Bild

Betrifft: AW: Hyperlinks auf Tabellenblattnamen
von: Sepp
Geschrieben am: 21.07.2015 22:26:18
Hallo Margarete,
hab ein wenig an deiner Datei gebastelt. Ich würde nicht überall Hyperlinks einfügen, sondern mit Doppelklick arbeiten.
https://www.herber.de/bbs/user/98991.xlsm

Gruß Sepp


Bild

Betrifft: AW: Hyperlinks auf Tabellenblattnamen
von: MB12
Geschrieben am: 22.07.2015 18:05:31
Hallo Sepp,
als ich heute Vormittag im Büro nach einer Antwort gesehen habe und deinen Namen sah, habe ich mich schon gefreut, und das zu Recht. Absolut super, diese Lösung. Für die heutige Sitzungsvorbereitung habe noch - ohne Code - fast 4 Stunden benötigt, das wird sich in Zukunft auf geschätzt eine Stunde verringern, obwohl noch weitere 150 Blätter dazugekommen sind.
Hättest du die Zeit, kurz zu erklären bzw. in deinen Code reinzuschreiben, wie du diese "Doppelklick-Lösung" erzeugt hast? Könnte ich ganz sicher auch in anderen Zusammenhängen anwenden und die gesammelte Mannschaft verblüffen (grins)
Diesmal vergesse ich auch nicht meinen Namen..
Beste Grüße, Margarete

Bild

Betrifft: AW: Hyperlinks auf Tabellenblattnamen
von: Sepp
Geschrieben am: 22.07.2015 18:22:02
Hallo Margarete,
die Doppelklick-Lösung ist eigentlich ganz einfach.
Im Modul der Mappe "DieseArbeitsmappe" wird das Ereignis-Makro WorksheetBeforeDoubleclick() bei jedem Doppelklick in eine Zelle jeder Tabelle ausgelöst.
Beim Doppelklick auf eine Zelle wird geprüft, ob der Zellinhalt einem Blattnamen entspricht.

Isnumeric(Evaluate(Target.Text))
Evaluate() wird benötigt, weil ein "-" in den Tabellennamen enthalten ist, und der Blattname ja ein String, also Text ist und ein Text ist nicht "Numeric"
Wenn ein entsprechendes Tabellenblatt vorhanden ist, dann wird mit Application.Goto zum entsprechenden Blatt gesprungen.
Ist also eigentlich ganz einfach.
Gruß Sepp


Bild

Betrifft: AW: Hyperlinks auf Tabellenblattnamen
von: MB12
Geschrieben am: 22.07.2015 19:03:48
jahahaaa... ganz einfach, wenn man es kann :-)
Aber du hast es so gut erklärt, dass sogar ich es verstanden habe. Und das kommt in meinen Fundus "nützliches Wissen"
Thks (schreibt man das so?)
Liebe Grüße, Margarete

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Hyperlinks auf Tabellenblattnamen"