Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel für Hyperlink per VBA richtig schreiben

Formel für Hyperlink per VBA richtig schreiben
30.10.2012 06:07:32
Franz
Guten Morgen Fachleute,
ich möchte per VBA eine Formel in ein Blatt eintragen, krieg aber das letzte Drittel nicht hin:
soweit funktionierts:
Cells(1, 6).FormulaR1C1 = "=HYPERLINK(R1C11)"
auch das mit einer einfachen Anzeige krieg ich noch:
Cells(1, 6).FormulaR1C1 = "=HYPERLINK(R1C11,""zum Ordner"")"
jetzt soll aber statt "zum Ordner" variabel eine bestimmte Zellenbezeichnung rein:
Im Blatt gibt es mehrere benamte Zellen, die Namen lauten "Musikart0", "Musikart1" usw. bis "Musikart4" Was auch noch klappt ist z. B., wenn ich schreibe:
Cells(1, 6).FormulaR1C1 = "=HYPERLINK(R1C11,Musikart1)"
dann steht in der Zelle F1: =HYPERLINK($K$1;Musikart1) - richtig so:
Userbild
Nun sollte das aber variabel gestaltet sein. Dazu gibt es im Makro die Variable btMusikart. Die geht von 0 - 4. Schreib ich jetzt im Code:
Cells(1, 6).FormulaR1C1 = "=HYPERLINK(R1C11,Musikart & btMusikart)"
dann krieg ich das hier:
Userbild
Ich hab auch verschiedene andere Variationen ausprobiert, klappt aber nicht. Gibt es die Möglichkeit, im Makro den Zellennamen mit der Variablen so zu verbinden, dass die Formel richtig eingetragen wird? Ich hoffe, ich konnte ausdrücken, worum es geht. Für Eure Hilfe wär ich Euch sehr dankbar.
Danke schonmal und Grüße
Franz

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel für Hyperlink per VBA richtig schreiben
30.10.2012 07:34:25
hary
Moin Franz
"=HYPERLINK(R1C11,Musikart" & btMusikart & ")"

gruss hary

AW: Formel für Hyperlink per VBA richtig schreiben
30.10.2012 07:50:55
Franz
Morgen Hary,
ja, jetzt wo ich's seh, wird's mir klar - es muss ja das Ganze in Anführungszeichen - vielen Dank!
Grüße
Franz

AW: geht auch so
30.10.2012 08:00:54
hary
Hallo Franz
Probier das mal.
Dim btMusikart As Long
btMusikart = 1
ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:= _
"K1", TextToDisplay:="Musikart" & btMusikart

gruss hary

Anzeige
AW: geht auch so
30.10.2012 08:16:59
Franz
Hallo Hary,
nein, so geht's nicht. Jetzt wird "Musikart1" angezeigt, statt dem, was in der Zelle mit Namen "Musikart1" steht, nämlich "01Klassik".
Aber danke, das andere mit der Formel ist ja wunderbar.
Grüße
Franz

AW: geht auch so
30.10.2012 08:25:34
hary
Hallo Franz
Dachte du bekommst es angepasst. TextToDisplay= Text zum anzeigen
Dim btMusikart As Long
btMusikart = 1
ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:= _
"K1", TextToDisplay:=Range("Musikart" & btMusikart).Value

gruss hary

Anzeige
AW: geht auch so
30.10.2012 09:53:29
Franz
sorry Hary, hast natürlich recht, hätt ich auch selber draufkommen können. Hatte aber ehrlich grad nicht die ZEit, mir das in Ruhe anzuschauen, da wär ich erst später draufgekommen.
Auf jeden Fall nochmal ein Dankeschön und Grüße
Franz

halt stopp! Fehler
30.10.2012 10:04:22
Franz
Hallo Hary,
ich konnt's erst jetzt ausprobieren: in K1 steht ein PFad drin. Mit....
Cells(1, 6).FormulaR1C1 = "=HYPERLINK(R1C11,Musikart" & btMusikart & ")"
... öffnet er wie gewünscht den Explorer mit dem angegebenen Ordner.
Mit Deinem neuen Code...
ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:= _
"K1", TextToDisplay:=Range("Musikart" & btMusikart).Value
springt er lediglich zur Zelle K1
Grüße
Franz

Anzeige
AW: halt stopp! Fehler
30.10.2012 10:26:35
hary
Hallo
Kann im Moment nicht testen. SubAdress ist das ziel
ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:= _
Range("K1").value, TextToDisplay:=Range("Musikart" & btMusikart).Value

gruss hary

AW: halt stopp! Fehler
30.10.2012 10:41:33
Franz
danke für die Antwort. Aber jetzt klappt er nicht mehr der Link:
Code:
ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:= _
Range("K1").Value, TextToDisplay:=Range("Musikart" & btMusikart).Value
ergibt:
Userbild
das Kreuz wird zwar zur Hand, der TippText zeigt den richtigen Pfad, es tut sich aber nichts....?
Grüße
Franz
P.S.: aber wie gesagt, bitte keinen übermäßigen Aufwand, die andere Lösung klappt ja........
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Hyperlinks in Excel VBA richtig einfügen


Schritt-für-Schritt-Anleitung

Um einen Hyperlink in Excel per VBA einzufügen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle Einfügen > Modul.
  3. Schreibe den VBA-Code:

    Dim btMusikart As Long
    btMusikart = 1 ' Beispielwert
    ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:= _
    Range("K1").Value, TextToDisplay:=Range("Musikart" & btMusikart).Value

    In diesem Beispiel wird ein Hyperlink erstellt, der in der Zelle F1 angezeigt wird. Der Text, der angezeigt wird, basiert auf dem Wert der benannten Zelle "Musikart1".

  4. Führe das Makro aus:

    • Drücke F5, um das Makro auszuführen.

Häufige Fehler und Lösungen

  • Fehler: Hyperlink springt zur Zelle statt zu einem Ordner
    Lösung: Stelle sicher, dass der SubAddress korrekt auf den Pfad zeigt. Verwende dazu Range("K1").Value, um den Pfad zu erhalten.

  • Fehler: Falscher Text wird angezeigt
    Lösung: Überprüfe, dass der TextToDisplay auf den richtigen Zellennamen verweist. Verwende Range("Musikart" & btMusikart).Value, um den korrekten Wert anzuzeigen.


Alternative Methoden

Eine alternative Methode, um Hyperlinks in Excel VBA zu erstellen, ist die Verwendung der FormulaR1C1-Eigenschaft:

Cells(1, 6).FormulaR1C1 = "=HYPERLINK(R1C11, ""Musikart"" & btMusikart)"

In diesem Beispiel wird die Variable btMusikart in die HYPERLINK-Formel eingebaut, um dynamisch den Text anzuzeigen.


Praktische Beispiele

  1. Einfacher Hyperlink:

    ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="http://www.example.com", TextToDisplay:="Beispielseite"
  2. Hyperlink mit benanntem Bereich:

    ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 6), Address:="", SubAddress:="Musikart1", TextToDisplay:="Musikart"

Tipps für Profis

  • Nutze die hyperlinks.add-Methode, um mehrere Hyperlinks effizient zu erstellen.
  • Stelle sicher, dass die benannten Bereiche oder Zellen existieren, um Laufzeitfehler zu vermeiden.
  • Verwende die Funktion TextToDisplay, um den angezeigten Text anpassbar zu gestalten. Dies ist besonders nützlich, wenn du Hyperlinks in vielen Zellen einfügen möchtest.

FAQ: Häufige Fragen

1. Wie kann ich einen Hyperlink in einer bestimmten Zelle hinzufügen?
Nutze die Hyperlinks.Add-Methode und gib die gewünschte Zelle als Anchor an.

2. Kann ich Hyperlinks auch in einer Schleife erstellen?
Ja, du kannst eine Schleife verwenden, um Hyperlinks in mehreren Zellen zu erstellen, indem du die Hyperlinks.Add-Methode entsprechend anpasst.

3. Was mache ich, wenn der Link nicht funktioniert?
Überprüfe den SubAddress und Address, um sicherzustellen, dass sie korrekt sind und auf existierende Pfade oder Webseiten verweisen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige