HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Forumbeitrag
Excel-Version des Fragestellers:
365 Business
Erfahrungslevel des Fragestellers:
Kaum Excel/VBA-Kenntnisse
Ulf
04.06.2025 13:32:42
AW: Hyperlink erzeugen in Zelle mit Formel
Hi,
für externe Links sieht das Ganze ~ so aus und bitte mal den Erkenntnisapparat auf höchste Stufe stellen:-)
Option Explicit


'Aufbau "file:///" & Vollständiger Pfad zur Datei
'Public Const cPräfix As String = "file:///C:\Users\xx\Documents\herber\"
Public Const cPräfix As String = "file:///C:\Users\xx\Documents\"

'Aufbau "#" & Name oder Zelle
'Public Const cSuffix As String = "#Ziel"
'Public Const cSuffix As String = "#Sprungziel"
Public Const cSuffix As String = "A50"

Public Sub machHyperlinks()
Dim wb As Workbook
Dim wks As Worksheet
Dim SpalteA As Range
Dim meineZelle As Range
Dim hyp As Hyperlink
Set wb = ThisWorkbook 'ggf. ANPASSEN
Set wks = wb.Worksheets(1) 'ANPASSEN
Set hyp = wks.Hyperlinks(1)
Debug.Print hyp.Address
Debug.Print hyp.SubAddress
'In der Zelle aus Spalte A steht folglich der Dateiname
Set SpalteA = wks.Range("A:A")
For Each meineZelle In SpalteA
If meineZelle.Value <> "" Then
'Interne Links Address=leer, SubAdddress=Name oder Zelle
'wks.Hyperlinks.Add Anchor:=meineZelle.Offset(0, 7), Address:="", SubAddress:=cPräfix & meineZelle.Value & cSuffix

'Externe Links Address=Datei, SubAdddress=Name oder Zelle
wks.Hyperlinks.Add Anchor:=meineZelle.Offset(0, 7), Address:=cPräfix & meineZelle.Value & ".xlsm", SubAddress:=cSuffix
End If
Next meineZelle
End Sub

hth
Ulf
Als Antwort auf diesen Beitrag
PMH
04.06.2025 10:12:07
AW: Hyperlink erzeugen in Zelle mit Formel
Nachfolgend das Makro im "Original"
o ich lasse das Makro in der Excel-Tabelle "01 Test.xlsm" laufen
o es läuft fehlerfrei durch, es liest die Spalte A und setzt jeweils den Hyperlink in Spalte G
aber
der letzte Teil des von mir angegebenen Präfix: 01 BRD.xlsm#BRD_ wird ignoriert, statt dessen steht dort: 01 Test.xlsm#BRD_
Mein Anliegen: ich möchte in der Tabelle "01 Test.xlsm" (Tabellenblatt 2222) einen Hyperlink erzeugen, der auf eine andere Excel-Tabelle (01 BRD.xlsm#BRD_) verweist.

Wie kann ich das Makro anpassen ?

Sub Testest()

Dim Praefix As String
Dim Suffix As String
Dim wb As Workbook
Dim wks As Worksheet
Dim SpalteA As Range
Dim meineZelle As Range
Dim hyp As Hyperlink
Dim Zaehler As Long, pos1 As Long

Set wb = ThisWorkbook 'ggf. ANPASSEN
Set wks = wb.Worksheets("2222") 'ANPASSEN
Set SpalteA = wks.Range("A1:A1000")

Praefix = "C:\AA-PMH\06 Briefmarken\01 BRD\01 BRD.xlsm#BRD_"
Zaehler = 0

For Each meineZelle In SpalteA
If meineZelle.Value <> "" Then
wks.Hyperlinks.Add Anchor:=meineZelle.Offset(, 6), Address:="", SubAddress:=Präfix & meineZelle.Value
Zaehler = Zaehler + 1
End If
Next meineZelle

MsgBox ("Anzahl Hyperlinks erzeugt: " & Zaehler)

End Sub
Folgenachrichten
Antwort auf Beitrag erstellen

Beispieldatei hochladen