Text-Filenamen in einen Link wandeln

Eine Liste von Filenamen in klickbare Links umwandeln

Um eine möglichst „unver­fängliche” (sprich neu­trale und auch durch Sie bess­er nachvol­lziehbare) Liste von Dateina­men zu gener­ieren und Ihnen hier als Mus­ter­datei anbi­eten zu kön­nen, habe ich mit Pow­er Query das Win­dows-Direc­to­ry aus­ge­le­sen, alle Text­dateien gefiltert, nicht rel­e­vante Spal­ten und die Dublet­ten gelöscht. Die let­zte Spalte (Pfad und Dateiname) habe ich aus den vorhan­de­nen Infor­ma­tio­nen per Pow­er Query zusam­menge­set­zt. Aus Grün­den der besseren Ver­gle­ich­barkeit in der Tabelle belassen. Prinzip­iell würde die let­zte, assem­blierte Spalte aus­re­ichen. Das Ergeb­nis dieser Abfrage kön­nen Sie hier als Basis für Ver­gle­iche herun­ter­laden. Es gilt allerd­ings die Ein­schränkung, dass die Dat­en hier nicht als intel­li­gente Tabelle son­dern als ganz „nor­male” Liste vor­liegen. Außer­dem sind in der Datei keine Makros einge­bet­tet.

Eine solche Auflis­tung kann ‑wie in der Mus­ter­datei- als ganz nor­male Liste oder Intel­li­gente Tabelle vor­liegen. In welch­er Form die Dat­en auch vorhan­den sind, das Ziel ist fol­gen­des: In der Spalte der gener­ierten Dat­en, welche die aus Pfad und Dateina­men beste­hen­den Ein­träge enthält, sollen die Inhalte von der reinen Textform in einen anklick­baren Hyper­Link umge­wan­delt wer­den. Die obere der bei­den Sub-Proze­duren kön­nen Sie bei ein­er beliebi­gen Auflis­tung ein­set­zen, die untere ist speziell für Intel­li­gente Tabellen geschaf­fen.

Option Explicit

Sub Name2Hyperlink() 'Liste oder Bereich
   Dim fRow As Long, lRow As Long
   Dim Ze As Long, Sp As Long
   Dim Str2Link As String
   
   Application.ScreenUpdating = False
   Sp = 3
   fRow = 2
   With ActiveSheet
      lRow = .Cells(Rows.Count, Sp).End(xlUp).Row
      For Ze = fRow To lRow
         Str2Link = .Cells(Ze, Sp)
         .Hyperlinks.Add Anchor:=Str2Link, Address:=Str2Link
      Next Ze
   End With
   Application.ScreenUpdating = True
End Sub

Sub N2HinListe()  'Liste / Intelligente Tabelle
   Dim rng As Range, c As Range
   Dim fRow As Long, Sp As Long
   Dim ListeName As String, Headline As String
   Dim Str2Link As String
   
   fRow = 1 'Zeile mit der Überschrift
   Sp = 3
   Application.ScreenUpdating = False
   Headline = Cells(fRow, Sp)
   ListeName = Cells(fRow, Sp).ListObject.Name
   Set rng = Range(ListeName & "[" & Headline & "]")
   For Each c In rng
      Str2Link = c
      ActiveSheet.Hyperlinks.Add Anchor:=c, Address:=Str2Link
   Next c
   Application.ScreenUpdating = True
End Sub

Möcht­en Sie die Dat­en aus der Musterta­belle in eine Intel­li­gente Tabelle umwan­deln, reicht ein Klick in die Dat­en und dann die Tas­tenkom­bi­na­tion StrgL oder StrgT.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 1,50  freuen … (← Klick mich!)

 
Dieser Beitrag wurde unter Code-Schnipsel, Formatierung, Mit VBA/Makro, Power Query, Tabelle und Zelle, Text abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.