Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hyperlinks zu Tabellenblättern mit VBA erstellen

Hyperlinks zu Tabellenblättern mit VBA erstellen
24.10.2019 08:45:46
Dete
Hallo zusammen,
ich habe schon länger gegoogelt aber leider noch keine wirklich passende Lösung gefunden, daher hoffe ich hier auf Hilfe.
Folgende, eigentlich einfache Problemstellung:
Ich habe eine Excel-Tabelle, die aus einem Übersichtsblatt ("Übersicht"), in dem in der Spalte B in Zeile 5-34 die Nachnamen von Mitarbeitern gelistet sind, und weiterhin aus den individuellen Tabellenblättern zu den jeweiligen Mitarbeitern, die mit dem jeweiligen Nachnahmen entsprechend der Übersichtsliste bezeichnet sind, besteht.
D.h., dass die Übersichtsliste sowie die individuellen Tabellenblätter bereits bestehen und benannt sind (es sollen keine neuen Blätter erstellt oder ein Inhaltsverzeichnis generiert werden).
Jetzt möchte ich lediglich einen Button im Tabellenblatt "Übersicht" haben, der automatisch und auf einmal alle Hyperlinks von den Namen in der Übersichtsliste zu den entsprechenden Tabellenblättern generiert.

Mit meinen kleinen VBA-Kenntnissen bekomme ich es leider nicht hin, eine solche Routine zu schreiben, die die Namen in der "Übersicht" auf einmal ausliest und den bereits benannten Tabellenblättern per Hyperlink zuordnet, ohne dabei eine neue Spalte etc. in der Übersicht zu erstellen (es sollen die bereits vorhandenen Namen in der Übersicht mit dem Hyperlink versehen werden).
Hier eine kleine Beispieldatei:
https://www.herber.de/bbs/user/132713.xlsm
Wer kann mir helfen?
Gruß,
Dete

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

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
24.10.2019 10:02:37
Dete
Hallo Dieter,
vielen Dank für die Antwort undden Tipp.
Aber leider ist es nicht so ganz passig, da mit der dort vorgestellten Variante erst eine neue Liste der Namen bzw. ein Inhaltsverzeichnis erstellt wird, anstatt die Hyperlkinks über die bereits vorhandenen Namen zu legen.
Und mit meinen bescheidenen VBA-Kenntnissen kann ich den Code nicht dahingehend umbauen, dass er zu meinem Problem passt :(
Trotzdem Danke schonmal!
Anzeige
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
24.10.2019 13:05:27
Werner
Hallo,
so:
Option Explicit
Sub Hyperlink_erzeugen()
Dim wksQuelle As Worksheet, loLetzte As Long, i As Long
Set wksQuelle = Worksheets("Übersicht")
With wksQuelle
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row
For i = 2 To loLetzte
.Cells(i, 2).Hyperlinks.Add Address:="", Anchor:=.Cells(i, 2), _
SubAddress:=Worksheets(CStr(.Cells(i, 2))).Range("A1").Address(True, True, , True)
Next i
End With
Set wksQuelle = Nothing
End Sub
Gruß Werner
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
25.10.2019 08:32:13
Dete
Hallo Werner,
erstmal VIELEN DANK für deine schnelle und tolle Hilfe. Der Code funktioniert an sich auch gut und macht genau das, was ich mir vorgestellt habe! TOP!
Aber nachdem ich den Code in meine Original-Datei eingebaut habe, meldet VBA immer, dass irgendetwas in einem ungültigen Bereich liegt?! Das kann nur eine Kleinigkeit sein, die durch das Einfügen in meine Originaldatei entstanden ist (ggf. durch einen abweichenden Zeilenbereich o.ä.), aber mir fehlen leider die Kenntnisse, um das im Code zu überprüfen.
Ich habe daher mal eine neue Beispieldatei beigefügt, die im Prinzip genau der originalen Datei entspricht und wo ich deinen Code schon eingebaut habe. Vielleicht könntest du nur nochmal draufgucken, an welcher Stelle der Fehler auftritt und was ich da falsch gemacht habe...
https://www.herber.de/bbs/user/132731.xlsm
Nochmals vielen Dank und die tolle Hilfe hier im Forum!
Gruß,
Dete
Anzeige
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
25.10.2019 09:03:43
Werner
Hallo,
na ja, bei mir im Code habe ich mit der Schleife über die Mitarbeiternamen in Zeile zwei begonnen: For i = 2 To loLetzte, bei deiner Datei beginnen die Mitarbeiternamen aber ab Zeile 6 also: For i = 6 To loLetzte.
Zudem stehen bei dir unterhalb der Mitarbeiternamen in Spalte B noch weitere Daten. Somit kann ich per Code die letzte belegte Zeile = loLetzte (bis dahin läuft die For Schleife) nicht in Spalte B ermitteln. Das habe ich jetzt umgestellt auf die Spalte A.
Das funktioniert aber nur, wenn in Spalte A unterhalb der Nummern für die einzelnen Mitarbeiter keine weiteren Daten vorhanden sind.
Option Explicit
Sub Hyperlink_erzeugen()
Dim wksQuelle As Worksheet, loLetzte As Long, i As Long
Set wksQuelle = Worksheets("Übersicht")
With wksQuelle
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 6 To loLetzte
.Cells(i, "B").Hyperlinks.Add Address:="", Anchor:=.Cells(i, "B"), _
SubAddress:=Worksheets(CStr(.Cells(i, "B"))).Range("A1").Address(True, True, , True)
Next i
End With
Set wksQuelle = Nothing
End Sub
Gruß Werner
Anzeige
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
25.10.2019 11:03:36
Dete
Hallo Werner,
TOP! Das funktioniert super und alle Links werden wunschgemäß erstellt.
Zwei kleine Fragen/Bitten hätte ich noch, die ich dir mal anhand meiner tatsächlichen Tabelle zeigen möchte:
https://www.herber.de/bbs/user/132743.xlsm
1. nachdem alle Links erstellt wurden, kommt ein kleiner Laufzeitfehler (9), den man aber einfach wegklicken kann. Kannst du den trotzdem abschalten oder ausblenden?
2. sobald ich in der Spalte B eine Leerzeile habe (wie hier in meiner Originaldatei in Zelle B8), kommt ebenfalls ein Laufzeitfehler und er generiert nur die ersten beiden Links, also bis zur Lücke. Könntest du das so programmieren, dass Leerzeilen erlaubt sind?
Aber wie gesagt, soweit läuft das schon super! Ich bin sehr dankbar über deine bisherige Hilfe!!
VBA ist schon klasse (wenn man es versteht). Ich hoffe, ich komme der ganzen VBA-Programmierung auch irgendwann nochmal näher ;)
Gruß,
Dete
Anzeige
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
25.10.2019 11:32:45
Werner
Hallo,
also bei mir kommt da, logischerweise, ein Fehler bei einer Leerzelle in Spalte B - das habe ich im Code jetzt berücksichtigt.
Mit deiner Beispielmappe kommt am Ende kein Laufzeitfehler.
Option Explicit
Sub Hyperlink_erzeugen()
Dim wksQuelle As Worksheet, loLetzte As Long, i As Long
Set wksQuelle = Worksheets("Übersicht")
With wksQuelle
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 6 To loLetzte
If .Cells(i, "B")  "" Then
.Cells(i, "B").Hyperlinks.Add Address:="", Anchor:=.Cells(i, "B"), _
SubAddress:=Worksheets(CStr(.Cells(i, "B"))).Range("A1").Address(True, True, , True) _
End If
Next i
End With
Set wksQuelle = Nothing
End Sub
Gruß Werner
Anzeige
AW: Hyperlinks zu Tabellenblättern mit VBA erstellen
28.10.2019 09:05:56
Dete
Hallo Werner,
jetzt funktioniert alles super wie gwünscht!
VIELEN DANK FÜR DEINE GEDULD UND TOLLE HILFE!!!
Gerne u. Danke für die Rückmeldung. o.w.T.
28.10.2019 12:58:38
Werner

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige