Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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?
to 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.
?mage

Misserfolg ist eine Chance, es beim
nächsten Mal besser zu machen.

(Henry Ford)
http://www.sprueche-zum-nachdenken.eu
to top
#3
Hallo Günter,
dank schon mal für den vorläufige Lösungsvorschlag, ich hoffe jemand
kann dies noch mit VBA umsetzen.
to 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
to 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.
to 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
to 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?
to 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
to 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!
to 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
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Formel in VBA statt in Excel? Spike87 14 224 23.11.2016, 09:42
Letzter Beitrag: Spike87
Question 1,000.00 statt 1.000,00 o0Julia0o 14 275 17.11.2016, 19:16
Letzter Beitrag: o0Julia0o
  VBA - Sverweis für Adressen mit Löschen doppelter Werte ABCDE 2 90 12.10.2016, 15:01
Letzter Beitrag: ABCDE
  Pivot: Fixierung auf Anzahl statt Summe Rabe 3 83 06.10.2016, 15:51
Letzter Beitrag: shift-del
  Statt Summenprodukt bessere (schnellere) Formel? tobisw 2 165 18.09.2016, 21:25
Letzter Beitrag: snb
  Ausfüllen von Adressen mit weiteren Angaben Dogo 5 330 16.08.2016, 23:49
Letzter Beitrag: Dogo
  Tilgungsrechner in Jahre statt Monate umwandeln konstantin 3 325 29.06.2016, 10:27
Letzter Beitrag: konstantin
  Adressen kopierenq cuba 2 215 25.03.2016, 16:52
Letzter Beitrag: cuba
  URL Adressen schrumpfen per VBA VBATartar 6 834 14.02.2016, 20:43
Letzter Beitrag: WillWissen
  Loop mit <= statt Sverweis? Lor4x 14 959 07.01.2016, 17:04
Letzter Beitrag: Jockel

Gehe zu:


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