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.

Hyperlinkverknüfpung mit Inhalten statt Adressen
#1
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?
Antwortento top
#2
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.
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) www.sprueche-zum-nachdenken.eu
Antwortento top
#3
Hallo Günter,
dank schon mal für den vorläufige Lösungsvorschlag, ich hoffe jemand
kann dies noch mit VBA umsetzen.
Antwortento top
#4
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
Antwortento top
#5
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.
Antwortento top
#6
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
Antwortento top
#7
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?
Antwortento top
#8
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.Smile

Gruß Uwe
Antwortento top
#9
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!
Antwortento top
#10
(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
Antwortento top


Gehe zu:


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