Clever-Excel-Forum

Normale Version: Hyperlinkverknüfpung mit Inhalten statt Adressen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Leute,

ich möchte mit VBA eine inhaltliche Verknüpfung von 2 Zellen erreichen. D.h. wenn ich
auf den Begriff in Zelle X klicke soll auf Zelle Y gesprungen werden. Mit diesem Hyperlink,
als Beispiel:
Code:
ActiveSheet.Hyperlinks.Add anchor:=ActiveSheet.Range("A6"), Address:="",  _  SubAddress:="Tabelle3!H7"

kann ich zwar eine Adresse anspringen. Mich interessiert aber das Anspringen vom Inhalt.
Wird also die Zelle, z.B. durch Zeile oder Spalte einfügen verschoben, soll zum gleichen Inhalt gesprungen werden. Wie könnte man so etwas erreichen?
Hi,

eine VBA-Lösung kann ich dir nicht anbieten. Mit Formel könntest du das so lösen:
Code:
=HYPERLINK("#B"&VERGLEICH($B$1;B:B;0);$B$1)

Die Adressen müsstest du noch anpassen.
Hallo Günter,
dank schon mal für den vorläufige Lösungsvorschlag, ich hoffe jemand
kann dies noch mit VBA umsetzen.
Hallo,

hier wird die Zielzelle mit dem Wert der Hyperlinkzelle benannt.

Code:
Sub HyperlinkAufBenanntenBereichErzeugen()
  Dim rngH As Range, rngZ As Range
  Set rngH = ActiveSheet.Range("A7")
  Set rngZ = Worksheets("Tabelle3").Range("H7")
  Names.Add rngH.Value, rngZ
  ActiveSheet.Hyperlinks.Add anchor:=rngH, Address:="", SubAddress:=Names(rngH.Value).RefersTo
End Sub

Gruß Uwe
Hallo Uwe,
habe deinen Code ausgetestet, sehe aber keinen Unterschied zu meinem:
Code:
ActiveSheet.Hyperlinks.Add anchor:=ActiveSheet.Range(ActiveCell.Address), Address:="", SubAddress:="Tabelle3!H7"

Denn das besonders Schwierige ist ja das der Hyperlink immer auf die Anfangs definierte Zelle zeigen soll. Also Hyperlink Ausdruck 1 springt zu Ausdruck 2 . Ausdruck 2 wandert durch Zellverschiebungen
und Ausdruck 1 springt dann immer noch zu Ausdruck 2. Auch wenn so etwas gar nicht per
Hyperlink gehen sollte, wäre ich sehr daran interessiert, wie man so etwas machen könnte und
sage Dir und allen Anderen im voraus schon mal Danke für eventuelle Lösungsvorschläge.
Hallo ratrad,

Du hast völlig recht. So wäre es so, wie ich und hoffentlich auch Du es wollte:

Code:
Sub HyperlinkAufBenanntenBereichErzeugen()
  Dim rngH As Range, rngZ As Range
  Set rngH = ActiveSheet.Range("A7")
  Set rngZ = Worksheets("Tabelle3").Range("H7")
  Names.Add rngH.Value, rngZ
  ActiveSheet.Hyperlinks.Add anchor:=rngH, Address:="", SubAddress:=rngH.Value
End Sub

Gruß Uwe
Hallo Uwe,

Danke, Danke , Danke! Es ist genial!! War lange auf der Suche nach so etwas und hätte nicht
geglaubt das es überhaupt geht. Da ich in Deinen Threads schon oft SuperCodes - und ich glaube
auch auf anderen Webseiten - von Dir gefunden habe, bitte verrate mir eins:
Wie lange programmierst Du schon? Profiprogrammierer?
Hallo ratrad,

ich verdiene nicht mein Geld als Programmierer.
Anfang der 1990er erstellte ich im Geschäft eine (DOS-)Anwendung
zur Erstellung von Arbeitsnachweisen in F&A. Das war ein
tolles Datenbankprogramm mit VB ähnlicher Sprache.
Symantec kaufte es später auf und ließ es verschwinden.
So 1995 fing ich an, mich mit Excel zu beschäftigen.
Vorher hatte ich auch schon Multiplan gesehen, konnte damit aber nichts anfangen.
So hatte ich mir nach und nach viele nützliche Sachen erstellt wie
Teilnehmerverzeichnisse, Rangier- und Verteilerpläne oder Im- und Exportanbindung
zu TK-Anlagen. Und da ich ziemlich faul bin, wollte ich das immer mehr automatisieren.
Zum Glück hatte ich auch die Zeit, mich intensiv mit Excel und VBA
beschäftigen zu können, so dass ich immer besser wurde. :21:
Durch die Mitarbeit in Excelforen lernte und lerne ich auch sehr viel dazu.
Auch die vielen unterschiedlichen Aufgabenstellungen, auf die ich
selbst oft gar nicht kommen würde, verhindern ein Einrosten - hoffentlich. :)

Gruß Uwe
Hallo Uwe,

danke für Dein Rückmeldung. Also ich selbst bin
Diplomingenieur, habe zwar bezüglich VBA nur
begrenzte Kenntnisse, aber ich erkenne doch
wenn jemand guten Code schreibt. Dazu kommt ja
auch noch, dass man alles parat haben muss.
Um ehrlich zu sein, du hättest für mich auch Uni-Prof.
sein können, der sich seine Zeit hier im Ruhstand vertreibt.
Mein Respekt!
(27.10.2014, 20:47)ratrad schrieb: [ -> ]Um ehrlich zu sein, du hättest für mich auch Uni-Prof.
sein können, der sich seine Zeit hier im Ruhstand vertreibt.

Hihi! Uwe wird jetzt zukünftig Professor genannt!

:18:
Seiten: 1 2