Hyperlink per Makro erstellen ??
Hallo,
und schon wieder eine Frage zu meiner Tabelle....
Es ist unheimlich nervig 100 Hyperlinks per Hand einzufügen, daher nun meine Frage:
Ab A9 stehen die Kundennummern, es gibt genausoviele Tabellenblätter (benannt nach der Kundennumner),
Ist es nun möglich über die Kundennr. zu dem dazugehörigen Tabellenblatt zu springen???
Die Formel HYPERLINK kann ich nicht verwenden, da in den Zellen bereits Formeln enthalten sind ... also dann als Makro - oder geht das evtl. auch anders?
Vielen Dank für eure Antworten ..
Gruss - Petra
Antwort schreiben
Antwort 1 von Saarbauer vom 03.06.2021, 22:00 Options
Hallo,
habe ich es richtig verstanden, dass du auf die Kundennummer Klickst und dann soll der Wechsel auf das entsprechende Tabellenblatt erfolgen
Gruß
Helmut
Antwort 2 von Petra65 vom 03.06.2021, 22:07 Options
Hallo,
Ja, genau das meine ich ... (sorry, mal wieder schlecht ausgedrückt).
Gruss - Petra
Antwort 3 von rainberg vom 03.06.2021, 22:34 OptionsLösung
Hallo Petra,
ich würde es so machen
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A9:A100")) Is Nothing Then
Worksheets(Target.Value).Select
End If
End Sub
In A9:A100 stehen die Kundennummern, die Tabellennamen haben die gleichen Nummern.
Linksklick auf eine Nummer springt zum gleichnamigen Blatt.
Gruß
Rainer
Antwort 4 von rainberg vom 03.06.2021, 22:46 Options
Hallo Petra,
noch ein Nachtrag.
Ich vermute Du willst in Spalte A auch Änderungen vornehmen, da kannst Du das SelectionChange _Ereignis nicht verwenden.
Verwende das DoubleClick_Ereignis, als erste Makrozele ersetzen durch...
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Gruß
Rainer
Antwort 5 von Petra65 vom 04.06.2021, 06:20 Options
Hallo,
das funktioniert ja mal wieder super ... ;-))
Habe nur eine kleine Änderung vorgenommen
Worksheets(Target.Value +4).Select
da die ersten vier Tabellenblätter der Auswertung
dienen.
Vielen, vielen Dank und einen schönen Tag....
Gruss - Petra
Antwort 6 von Beverly vom 04.06.2021, 08:36 Options
Hi Petra,
falls du doch Hyperlinks verwenden willst, so lassen sie sich mit dem folgenden Code erstellen:
Sub HyperlinksEinfuegen()
Dim raZelle As Range
For Each raZelle In Range("A9:A200")
If raZelle <> "" Then ActiveSheet.Hyperlinks.Add Anchor:=raZelle, _
Address:="", SubAddress:="'" & raZelle & "'!A1"
Next raZelle
End Sub
Die Formel Hyperlink kannst du auch verwenden, nach diesem Prinzip (da ich deine Formel nicht kenne steht B9 dafür):
=HYPERLINK("#'"&B9&"'!A1";B9)
Bis später,
Karin
Antwort 7 von Petra65 vom 04.06.2021, 23:16 Options
Hallo Karin,
der VBA-Code ist ja klasse - hab ich mir direkt gespeichert (man weiss ja nie wofür man ihn noch braucht :-)))
Zu dem HYPERLINK: habe beide B9 durch die bereits bestehende Formel ersetzt, doch leider erhalte ich die Fehlermeldung "Ungültiger Bezug" .... Habe ich das Ersetzen von B9 richtig gemacht???
So sieht die Formel zur Zeit aus:
=WENN($A9="";"";SVERWEIS($A9;[MB_Kunden.xls]Kunden!$A$7:$C$302;2;FALSCH))
Sie sieht diese mit HYPERLINK aus:
=HYPERLINK("#"&WENN($A9="";"";SVERWEIS($A9;[MB_Kunden.xls]Kunden!$A$7:$C$302;2;FALSCH))&"!A1";WENN($A9="";"";SVERWEIS($A9;[MB_Kunden.xls]Kunden!$A$7:$C$302;2;FALSCH)))
Habe auch versucht "!A1" durch "!A9" zu ersetzen (da dort die erste Kundennummer steht), doch ohne Erfolg.
Kannst Du den Fehler sehen ???
Gruss - Petra
Antwort 8 von Beverly vom 05.06.2021, 13:32 Options
Hi Petra,
mit SVERWEIS() erhältst du den Zellinhalt, die Formel HYPERLINK() benötigt jedoch eine Zelladresse:
=WENN(A9="";"";HYPERLINK("[MB_Kunden.xls]Kunden!B"&VERGLEICH(A9;[MB_Kunden.xls]Kunden!$A$1:$A$12;0);SVERWEIS($A9;[MB_Kunden.xls]Kunden!$A$7:$C$302;2;FALSCH)))
Da in deiner Formel auf eine andere Arbeitsmappe verwiesen wird, fällt der Teil "#" weg.
Bis später,
Karin
Antwort 9 von Beverly vom 05.06.2021, 13:38 Options
Hi Petra,
Korrektur: da du einen anderen Bereich verwendest als ich beim Testen verwendet habe, muss die Formel so heißen
=WENN(A9="";"";HYPERLINK("[MB_Kunden.xls]Kunden!B"&VERGLEICH(A9;[MB_Kunden.xls]Kunden!$A$7:$A$302;0)+6;SVERWEIS(A9;[MB_Kunden.xls]Kunden!$A$7:$C$302;2;FALSCH)))
Bis später,
Karin
Antwort 10 von Petra65 vom 05.06.2021, 19:49 Options
Hallo Karin,
erstmal vielen Dank für die Hilfe ....
;-) die Formel funktioniert .... allerdings leider falsch herum ......
Mal von Anfang an:
Es existieren 2 Tabellen:
1. Kunden
2. Behandlungen
Über die Kunden-Tabelle kann ich per Links in das entsprechende Tabellenblatt (pro Kunden 1 Blatt in Tabelle 2) springen.
-> HIER würde ich übringens auch gerne die Funktion HYPERLINK einsetzen.
In der Tabelle Behandlungen befinden sich diverse Tabellenblätter, unter anderem 2 Blätter für Auswertungen (HIERFÜR war die Funktion gedacht !!)
Ich möchte nun in dem Blatt 208AUSW per HYPERLINK in das entsprechende Tabellenblatt springen.
Deine Formel springt in die Tabelle Kunden.
Um das ganze mal anschaulicher zu machen habe ich beide Tabellen online gestellt.
Tabelle Kundenhttp://www.file-upload.net/download-1684343/MB_Kunden.xls.htmlTabelle Behandlungenhttp://www.file-upload.net/download-1684362/MB_Behandlungen.xls.htmlViele Grüße - Petra
Antwort 11 von Beverly vom 06.06.2021, 10:03 Options
Hi Petra,
für die Navigation von MB_Kunden nach MB_Behandlungen (in MB_Kunden, Tabelle Kunden, Zelle A10):
=WENN($B10="";"";HYPERLINK("[MB_Behandlungen.xls]"&ZEILE()-9&"!A1";ZEILE()-9))
für die Navigation innerhalb der Arbeitsmappe MB_Behandlungen (in MB_Behandlungen, Tabellenblätter AUSW, Zelle A9):
=WENN([MB_Kunden.xls]Kunden!$A10="";"";HYPERLINK("#"&[MB_Kunden.xls]Kunden!$A10&"!A1";[MB_Kunden.xls]Kunden!$A10))
Bis später,
Karin
Antwort 12 von Petra65 vom 06.06.2021, 16:10 Options
Hallo Karin,
tausend Dank ... :-) ... funktioniert super
gut - und erleichtert mir die Arbeit unheimlich.
(Juchuuu...)
Viele Grüße - Petra