Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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

Blätter mit generierten Hyperlinks einblenden

Blätter mit generierten Hyperlinks einblenden
28.11.2018 12:38:33
Chris
Hi zusammen,
ich hatte dieses Thema schon mal gepostet und auch bereits von Herbert Grom einiges an Hilfe bekommen (danke nochmal dafür!). Leider habe ich noch nicht die endgültige Lösung gefunden. Was wohl auch an meiner Beschreibung des Themas lag!
Zuletzt hatte mir Herbert folgenden Code gebaut:
Sub Main()
Dim lngTMP As Long, sTxt$, sWks$, sRng$, iPos%
On Error GoTo ende
Application.EnableEvents = False
For lngTMP = 5 To Cells(Rows.Count, 3).End(xlUp).Row
sTxt = Split(Split(Cells(lngTMP, 3).Formula, "(""")(1), """")(0)
iPos = InStr(1, sTxt, "!")
sWks = Left(sTxt, iPos - 1)
sRng = Mid(sTxt, iPos + 1, 100)
Cells(lngTMP, 4).Value = Sheets(sWks).Range(sRng)
Next lngTMP
ende:
Application.EnableEvents = True
End Sub

Dieser zerlegt eine =Hyperlink() Formel in Spalte C in einen Text in Spalte D. Der Text soll auch genauso in Spalte D stehen, nur eben als Hyperlink. Das Problem ist, dass ich einen reinen Hyperlink für ein anderes Makro in Spalte D benötige, welches eben nicht mit einem durch die Formel =Hyperlink() generierten Hyperlink arbeiten kann.
Somit soll also der Text wie er durch das oben stehende Makro in Spalte D geschrieben wird, dort als Hyperlink stehen (Address) und als Subaddress soll "#'" & "Text aus Spalte D" & "'!A1" stehen.
Vielen Dank für Eure Unterstützung!
Beste Grüße

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mehrfach..
28.11.2018 13:14:58
UweD
AW: Blätter mit generierten Hyperlinks einblenden
28.11.2018 17:32:25
Herbert
Hallo Chris,
und welche Adresse soll der Hyperlink in Spalte D haben?
Servus
AW: Blätter mit generierten Hyperlinks einblenden
28.11.2018 18:35:12
Chris
Hallo Herbert,
der hyperlink soll die Adresse des in Spalte C wiedergegebenen Tabellenblatts haben. Anbei noch ein Screenshot, was in Spalte C steht:
Userbild
Falls es das irgendwie einfacher macht, könnte ich auch einfach in Spalte C folgendes machen:
Userbild
Wichtig ist nur, dass am Ende in Spalte D ein Hyperlink steht, welcher als Text nur das hat was in Spalte C steht (hier "Schritt 1") aber als Adresse eben das entsprechende Tabellenblatt (also '#Sschritt 1!"). Außerdem müsste das Makro so sein, dass sich die Spalte D automatisch verändert, wenn sich etwas in Spalte C ändert.
Als Hintergrund nochmal kurz. Ich möchte in meiner Arbeitsmappe alle Tabellenblätter ausblenden. Diese sollen sich nur einblenden, wenn man auf einen Hyperlink zum jeweiligen Tabellenblatt klickt. Dies funktioniert aber nur, wenn man einen "normalen" Hyperlink hat und eben nicht mit der Formel =Hyperlink(). Deshalb brauche ich ein Makro, welches mir in Spalte D einen normalen Hyperlink schreibt. Erschwerend kommt halt dazu, dass sich die Arbeitsschritte verändern. Mit Bezug auf die Bilder heißt das, dass Spalte C veränderlich ist, je nachdem, in welchem Arbeitsschritt man gerade ist.
Anzeige
AW: Blätter mit generierten Hyperlinks einblenden
28.11.2018 18:45:16
Herbert
Hallo Chris,
probiers mal damit:
Sub Main()
Dim lngTMP As Long, sTxt$, sWks$, sRng$, iPos%
On Error GoTo ende
Application.EnableEvents = False
For lngTMP = 5 To cells(Rows.Count, 3).End(xlUp).Row
sTxt = Split(Split(cells(lngTMP, 3).Formula, "(""")(1), """")(0)
iPos = InStr(1, sTxt, "!")
sWks = Left(sTxt, iPos - 1)
sRng = Mid(sTxt, iPos + 1, 100)
ActiveSheet.Hyperlinks.Add Anchor:=Selection, _
Address:="", _
SubAddress:="'" & cells(lngTMP, 3).Value & "'!A5", _
TextToDisplay:=cells(lngTMP, 3).Value
Next lngTMP
ende:
Application.EnableEvents = True
End Sub
Servus
Anzeige
AW: Und, funktioniert es nun wie gewünscht? owt
29.11.2018 10:55:11
Herbert
,,
AW: Und, funktioniert es nun wie gewünscht? owt
29.11.2018 12:07:16
Chris
Hi Herbert,
ja jetzt sieht das schon sehr gut aus!
Zwei Sachen habe ich jedoch noch. Erstens arbeitet das Makro nur Zelle für Zelle. Ist es möglich, dass es die ganze Spalte D soweit ausfüllt, wie in Spalte C etwas steht? Zweitens, wenn sich der Bezug in Spalte C ändert, ändert er sich in Spalte D nicht automatisch mit. ich nehme an, dass man das Makro so einstellen kann, dass es permanent läuft und den Hyperlink ändert, wenn sich in Spalt C etwas ändert. Od er geht das so nicht?
Nochmal riesen Dank!
AW: Und, funktioniert es nun wie gewünscht? owt
29.11.2018 12:30:00
Herbert
Ist es möglich, dass es die ganze Spalte D soweit ausfüllt, wie in Spalte C etwas steht?
Das tut es bereits in dieser Zeile:

For lngTMP = 5 To cells(Rows.Count, 3).End(xlUp).Row

wenn sich der Bezug in Spalte C ändert, ändert er sich in Spalte D nicht automatisch mit
Das tut er auch, wenn du den Bezug änderst, bevor du das Makro startest!
Servus
Anzeige
AW: Und, funktioniert es nun wie gewünscht? owt
30.11.2018 12:54:49
Chris
Hallo Herbert,
das Makro stoppt immer nach dem ersten Eintrag in Spalte C und nicht nach dem letzten. Ich muss quasi jede Zeile einzeln durcharbeiten.
Dass das Makro nach dem erneuten Durchlauf die Veränderungen in Spalte C berücksichtigt, ist mir klar. Daraus ziehe ich, dass es nicht möglich ist, das Makro quasi permanent laufen zu lassen, so dass es auf Veränderungen in der Spalte C reagiert, wenn diese passieren. Stimmt das so?
Danken und Gruß
Christopher
AW: Und, funktioniert es nun wie gewünscht? owt
30.11.2018 10:42:31
Chris
Hi Herbert,
ja jetzt sieht das schon sehr gut aus!
Zwei Sachen habe ich jedoch noch. Erstens arbeitet das Makro nur Zelle für Zelle. Ist es möglich, dass es die ganze Spalte D soweit ausfüllt, wie in Spalte C etwas steht? Zweitens, wenn sich der Bezug in Spalte C ändert, ändert er sich in Spalte D nicht automatisch mit. ich nehme an, dass man das Makro so einstellen kann, dass es permanent läuft und den Hyperlink ändert, wenn sich in Spalt C etwas ändert. Od er geht das so nicht?
Nochmal riesen Dank!
Anzeige
AW: Blätter mit generierten Hyperlinks einblenden
28.11.2018 18:46:55
Chris
Hallo Herbert,
der hyperlink soll die Adresse des in Spalte C wiedergegebenen Tabellenblatts haben. Anbei noch ein Screenshot, was in Spalte C steht:
Userbild
Falls es das irgendwie einfacher macht, könnte ich auch einfach in Spalte C folgendes machen:
Userbild
Wichtig ist nur, dass am Ende in Spalte D ein Hyperlink steht, welcher als Text nur das hat was in Spalte C steht (hier "Schritt 1") aber als Adresse eben das entsprechende Tabellenblatt (also '#Sschritt 1!"). Außerdem müsste das Makro so sein, dass sich die Spalte D automatisch verändert, wenn sich etwas in Spalte C ändert.
Als Hintergrund nochmal kurz. Ich möchte in meiner Arbeitsmappe alle Tabellenblätter ausblenden. Diese sollen sich nur einblenden, wenn man auf einen Hyperlink zum jeweiligen Tabellenblatt klickt. Dies funktioniert aber nur, wenn man einen "normalen" Hyperlink hat und eben nicht mit der Formel =Hyperlink(). Deshalb brauche ich ein Makro, welches mir in Spalte D einen normalen Hyperlink schreibt. Erschwerend kommt halt dazu, dass sich die Arbeitsschritte verändern. Mit Bezug auf die Bilder heißt das, dass Spalte C veränderlich ist, je nachdem, in welchem Arbeitsschritt man gerade ist.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige