08.10.2018, 20:13 (Dieser Beitrag wurde zuletzt bearbeitet: 08.10.2018, 20:14 von lukas-2000.)
Guten Abend,
Ich bin bei der Erstellung eines Excelformulars auf folgende Problemstellung getreten:
Per variablen Hyperlink möchte ich in einem Inhaltsverzeichnis auf das dazugehörige Tabellenblatt springen. Dies ist ja mit der Funktion Hyperlink möglich. Allerdings benötige ich dafür einen Bezug auf das jeweilige Tabellenblatt, die Tabellenblätter können allerdings mit variablen Namen versehen werden.
Deswegen ist meine Frage ob man nicht auch alle Tabellenblätter, unabhängig wie diese heißen, miteinander vergleichen kann ?
Im Anhang habe ich eine Excel Tabelle eingefügt, die diese Situation verdeutlichen soll.
09.10.2018, 07:23 (Dieser Beitrag wurde zuletzt bearbeitet: 09.10.2018, 07:23 von Frogger1986.)
Erkläre mal bitten den Aufbau deiner Tabelle, mir ist nicht klar warum die Tabellenblätter ihren Namen ändern...
Zu den Artikeln Springen geht mit dem Verweis und die Tabellenblätter werden in der Hyperlink- Formel Direkt angesprochen oder aus Textteilen zusammengesetzt oder über einen Zellenbezug gesetzt
Im Anhang habe ich dir zwei bespiele mit einem Verweis im Hyperlink (es wird genau der Artikel selektiert nicht nur das Tabellenblatt)
Eine Menge reden, aber nichts sagen können viele...
10.10.2018, 12:14 (Dieser Beitrag wurde zuletzt bearbeitet: 10.10.2018, 12:15 von lukas-2000.)
Danke für Eure Mühe und Antworten!
So wie ihr es jetzt gemacht habt funktioniert es auch tadellos, aber nur wenn die Tabellenblätter vorkonfiguriere Namen haben. Allerdings ist es so, dass bei jedem neuen Geräte ein neues Tabellenblatt angelegt wird, dass man individuell benennen kann, je nach Geräte Nummer. Jetzt ist es halt schwer dann ein Inhaltsverzeichnis zu erstellen, weil man keinen richtigen Bezug mehr auf das Tabellenblatt hat. Dann wird wohl wirklich dann wird wohl nicht anderes übrig bleiben, als wie das per VBA zu lösen.
Ich kenne mich allerdings nicht mit VBA aus. Ich kann es mir nur so vorstellen, dass man einen Befehl braucht, der alle Tabellenblätter, unabhängig davon wie diese heißen abfragt, dann die Zelle ausgibt und man damit einen Hyperlink erstellen kann. Habt ihr eventuell eine Idee wie sowas aussieht oder funktionieren könnte?
Ich hab deinen Code leider nicht so richtig verstanden, worfür ist denn das:,,=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())",wo muss ich das einfügen? Sorry, ich habe leider nicht so viel Ahnung von Excel.
Ich habe es jetzt mal per VBA probiert und bin auf folgenden Code gestoßen:
Code:
Sub InhaltsverzeichnisErstellen()
'Inhaltsverzeichnis
anzahl = ThisWorkbook.Sheets.Count
For t = 2 To anzahl
ThisWorkbook.Sheets("Inhaltsverzeichnis").Hyperlinks.Add Anchor:=Sheets("Inhaltsverzeichnis").Cells(t, 1), _
Address:="", SubAddress:=ThisWorkbook.Sheets(t).Name & "Zum Gerät"
Next t
End Sub
Das funktioniert soweit auch ganz gut, allerdings habe ich auch ausgeblendete Tabellenblätter in meiner Datei und diese werden mit in das Inhaltsverzeichnis kopiert. Kann man das noch irgendwie umgehen? Außerdem würde ich den Hyperlinks gerne einen ansprechenden Namne geben. Momentan werden diese z.B. so ,,1Zum Gerät" ausgegeben, also mit dem Tabellenamen davor, kann man das auch noch anpassen?
So funktioiniert es auch, allerdings nur bis zu dem Punkt, wo ich das Tabellenblatt verscheibe. Wenn ich das mache, verschiebt sich alles und die Hyperlinks passen nicht mehr zu dem Inhalt davor. Hast du da auch noch eine Idee, wie man das machen kann oder funktioiniert das dann nur über VBA?