Microsoft Excel

Herbers Excel/VBA-Archiv

Formel für Hyperlink per VBA richtig schreiben

Betrifft: Formel für Hyperlink per VBA richtig schreiben von: Franz W.
Geschrieben am: 30.10.2012 06:07:32

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:



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:



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

  

Betrifft: AW: Formel für Hyperlink per VBA richtig schreiben von: hary
Geschrieben am: 30.10.2012 07:34:25

Moin Franz

"=HYPERLINK(R1C11,Musikart" & btMusikart & ")"

gruss hary


  

Betrifft: AW: Formel für Hyperlink per VBA richtig schreiben von: Franz W.
Geschrieben am: 30.10.2012 07:50:55

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


  

Betrifft: AW: geht auch so von: hary
Geschrieben am: 30.10.2012 08:00:54

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


  

Betrifft: AW: geht auch so von: Franz W.
Geschrieben am: 30.10.2012 08:16:59

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


  

Betrifft: AW: geht auch so von: hary
Geschrieben am: 30.10.2012 08:25:34

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


  

Betrifft: AW: geht auch so von: Franz W.
Geschrieben am: 30.10.2012 09:53:29

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


  

Betrifft: halt stopp! Fehler von: Franz W.
Geschrieben am: 30.10.2012 10:04:22

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


  

Betrifft: AW: halt stopp! Fehler von: hary
Geschrieben am: 30.10.2012 10:26:35

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


  

Betrifft: AW: halt stopp! Fehler von: Franz W.
Geschrieben am: 30.10.2012 10:41:33

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:



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........


 

Beiträge aus den Excel-Beispielen zum Thema "Formel für Hyperlink per VBA richtig schreiben"