Text-Filenamen in einen Link wandeln

Eine Liste von Filenamen in klickbare Links umwandeln

Um eine möglichst „unverfängliche“ Liste von Dateinamen zu generieren und Ihnen hier als Musterdatei anbieten zu können, habe ich mit Power Query das Windows-Directory ausgelesen, alle Textdateien gefiltert, nicht relevante Spalten und die Dubletten gelöscht. Die letzte Spalte (Pfad und Dateiname) habe ich aus den vorhandenen Informationen per Power Query zusammengesetzt. Aus Gründen der besseren Vergleichbarkeit in der Tabelle belassen. Prinzipiell würde die letzte, assemblierte Spalte ausreichen. Das Ergebnis dieser Abfrage können Sie hier als Basis für Vergleiche herunterladen. Es gilt allerdings die Einschränkung, dass die Daten hier nicht als intelligente Tabelle sondern als ganz „normale“ Liste vorliegen. Außerdem sind in der Datei keine Makros eingebettet.

Eine solche Auflistung kann -wie in der Musterdatei- als ganz normale Liste oder Intelligente Tabelle vorliegen. In welcher Form die Daten auch vorhanden sind, das Ziel ist folgendes: In der Spalte der generierten Daten, welche die aus Pfad und Dateinamen bestehenden Einträge enthält, sollen die Inhalte von der reinen Textform in einen anklickbaren Hyperlink umgewandelt werden. Die obere der beiden Sub-Prozeduren können Sie bei einer beliebigen Auflistung einsetzen, die untere ist speziell für Intelligente Tabellen geschaffen.

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öchten Sie die Daten aus der Mustertabelle in eine Intelligente Tabelle umwandeln, reicht ein Klick in die Daten und dann die Tastenkombination StrgL oder StrgT.

▲ nach oben …

 
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.