Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Angezeigten Text von Hyperlinks ändern
#1
Hallo zusammen,

Ich habe eine Excelmappe mit 144 Büchertiteln - alle in Spalte A.
Nun habe ich vor, für jeden Buchtitel ein Tabellenblatt hinzuzufügen.

Spalte A würde ich gern mit Hyperlinks versehen, die mich zum jeweils angeklickten Buchtitel bringt, sprich auf das dazugehörige Tabellenblatt.

Nun habe ich schon eine Weile gesucht und bin auch teilweise fündig geworden. Ich habe einen VBA-code gefunden, der mir die Links erstellt, allerdings in einer anderen Spalte und benannt mit dem Namen des Tabellenblatts zu dem der Link führt, in meinem Fall "Tabelle2"-"Tabelle144". Aktuell habe ich quasi Spalte A gefüllt mit Buchtiteln und Spalte C gefüllt mit Hyperlinks.

Ich möchte aber, dass der angezeigte Text des Hyperlinks, dem jeweiligen Buchtitel entspricht. Kann mir da jemand helfen?



mfg
Olivo
Antworten Top
#2
Hallo Olivo,

dann zeig doch mal den Code.
Ansonsten könntest Du auch die HYPERLINK Funktion nutzen, schaue dazu mal in die Hilfe.  

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
1Tabelle2Tabelle2

ZelleFormel
C1=HYPERLINK("#" & A1 & "!A1";A1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Da vermutlich Leerzeichen im Buchtitel sind müsstest Du den in der Funktion gebildeten Blattnamen noch in Hochkommas einschließen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Frogger1986
Antworten Top
#3
Hallo schauan,

hier der code:
Code:
Public Sub Hyperlinks_erstellen()
   Dim WS As Worksheet, i As Integer
   
   i = 1
   Application.ScreenUpdating = False
   With ThisWorkbook.Sheets("Tabelle1")
       For Each WS In ThisWorkbook.Worksheets
           If WS.Name <> "Tabelle1" Then
               .Hyperlinks.Add Anchor:=.Cells(i, 3), SubAddress:=WS.Name & "!A1", TextToDisplay:=WS.Name, Address:=""
               i = i + 1
           End If
       Next WS
   End With
   Application.ScreenUpdating = True
End Sub

Wenn ich deine Lösung nehmen würde, hätte ich am Ende 2 Spalten: eine mit den Titeln und eine mit den Links. Ich möchte aber nur eine Spalte haben am Ende. Spalte A soll die Titel beinhalten und jeder Titel soll mit einem Link hinterlegt sein.

mfg
Olivo
Antworten Top
#4
Hallo Olivio,

Du würdest aber gleich sehen, wo es hingeht Smile
Hier mal mit dem Blattnamen automatisiert, wenn es bei Tabelle2 usw. bleibt Smile:

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
1Titel
2Mein BuchTabelle2

ZelleFormel
B2=HYPERLINK("#Tabelle" & ZEILE() & "!A1";"Tabelle" & ZEILE())
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Der Code könnte so funktionieren. Statt ws.Name habe ich jetzt .Cells(i,1).Value Die Zählung von i fängt mit 1 an, der Text würde also ab Zeile 1 geholt.

Code:
Public Sub Hyperlinks_erstellen()
   Dim WS As Worksheet, i As Integer
   i = 1
   Application.ScreenUpdating = False
   With ThisWorkbook.Sheets("Tabelle1")
       For Each WS In ThisWorkbook.Worksheets
           If WS.Name <> "Tabelle1" Then
               .Hyperlinks.Add Anchor:=.Cells(i, 3), SubAddress:=WS.Name & "!A1", TextToDisplay:=.Cells(i, 1).Value, Address:=""
               i = i + 1
           End If
       Next WS
   End With
   Application.ScreenUpdating = True
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo schauan,

hab meinen code mit deinem code ersetzt und erhalte einen Fehler:

"Laufzeitfehler "5".:
Unzulässiger Prozeduraufruf oder ungültiges Argument.

Beim debuggen wird folgende Zeile gelb markiert:

Code:
.Hyperlinks.Add Anchor:=.Cells(i, 3), SubAddress:=WS.Name & "!A1", TextToDisplay:=.Cells(i, 1).Value, Address:=""


mfg
Olivo
Antworten Top
#6
Hallo Olivo,

wie ist der Wert von i und was steht in der entsprechenden Zelle?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste