Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellinhalt per Hyperlink verbinden?

Zellinhalt per Hyperlink verbinden?
13.04.2021 12:32:48
Sergej
Hallo Leute,
ich habe in der Spalte A ab Zeile 7 meine Einträge.
Im Pfad der Exceldatei habe ich ein Verzeichnis "Auswertungen". In diesem Verzeichnis incl. Unterverzeichnisse soll nach Dateien gesucht werden, die gleichen Namen haben, wie der Zellinhalt in Spalte A. Danach soll die Zelle per Hyperlink mit der Datei verknüpft werden.
Beispiel A7 = WUP10 -- > verknüpft mit der Datei "....\Auswertungen\Sommer GmbH\WUP10.pdf"
Wie mache ich das bitte per VBA?
Beste Grüße,
Sergej

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt per Hyperlink verbinden?
13.04.2021 12:49:23
Nepumuk
Hallo Sergej,
teste mal:
Option Explicit
Public Sub InsertHyperlinks()
Dim astrFolders() As String, strFilename As String
Dim ialngFolders As Long
Dim objCell As Range
astrFolders = GetFolders(ThisWorkbook.Path & "\Auswertungen\")
With Worksheets("Tabelle1") ' Anpassen !!!
For Each objCell In .Range(.Cells(7, 1), .Cells(.Rows.Count, 1).End(xlUp))
If Not IsEmpty(objCell.Value) Then
For ialngFolders = LBound(astrFolders) To UBound(astrFolders)
strFilename = Dir$(astrFolders(ialngFolders) & objCell.Value & "*.*")
If strFilename  vbNullString Then
Call .Hyperlinks.Add(Anchor:=objCell, _
Address:=astrFolders(ialngFolders) & strFilename, _
TextToDisplay:=objCell.Value)
Exit For
End If
Next
End If
Next
End With
End Sub
Private Function GetFolders(ByVal pvstrPath As String) As String()
Dim astrFolders() As String
Dim strFolder As String, strPath As String
Dim ialngIndex1 As Long, ialngIndex2 As Long
ReDim Preserve astrFolders(ialngIndex1)
astrFolders(ialngIndex1) = pvstrPath
ialngIndex1 = 1
ialngIndex2 = 1
strPath = pvstrPath
Do
strFolder = Dir$(PathName:=strPath & "*", Attributes:=vbDirectory)
Do Until strFolder = vbNullString
If strFolder  "." And strFolder  ".." Then
If GetAttr(PathName:=strPath & strFolder) And vbDirectory Then
ReDim Preserve astrFolders(0 To ialngIndex1)
astrFolders(ialngIndex1) = strPath & strFolder & "\"
ialngIndex1 = ialngIndex1 + 1
End If
End If
strFolder = Dir$
Loop
If ialngIndex1 = ialngIndex2 Then Exit Do
strPath = astrFolders(ialngIndex2)
ialngIndex2 = ialngIndex2 + 1
Loop
GetFolders = astrFolders
End Function

Gruß
Nepumuk
Anzeige
AW: Zellinhalt per Hyperlink verbinden?
13.04.2021 13:08:15
Nepumuk
Ooops,
ändere diese Zeile:
strFilename = Dir$(astrFolders(ialngFolders) & objCell.Value & "*.*")

so:
strFilename = Dir$(astrFolders(ialngFolders) & objCell.Value & ".*")

Gruß
Nepumuk
AW: Zellinhalt per Hyperlink verbinden?
13.04.2021 13:09:57
Sergej
Hallo Nepumuk,
es funktioniert einwandfrei. Vielen herzlichen Dank!
Beste Grüße,
Sergej

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige