Eine Liste von Filenamen in klickbare Links umwandeln
Um eine möglichst „unverfängliche” (sprich neutrale und auch durch Sie besser nachvollziehbare) 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.
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 1,50 € freuen … (← Klick mich!)