Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hyperlink und PowerQuery

Hyperlink und PowerQuery
17.06.2020 07:44:15
Uli
Hallo an Alle,
habe mir eine Datenverbindung mit Powerquery eingerichtet. Hier werden PDF Dateien aus einem Ordner gezogen und die Abfrage wird alle 60 Minuten aktualisiert.
Es wäre schön wenn die PDF Bezeichnung "QA_RK-L462-02-2020.pdf" sofort den Link zur Datei hätte.Da es sich im Moment um etwa 40 Dateien handelt und immer welche dazukommen, möchte ich das nicht händisch machen. Wobei dann immer die Neuen auch wieder verlinkt werden müssten.
Habe dieses Makro aus dem Netz und meine Dateiabfrage danach angepasst.
Leider kommt immer der Laufzeitfehler 13 "Typen unverträglich"
Kann mir jemand helfen,den Fehler zu beseitigen ?
Danke und Gruß Uli
Option Explicit
Sub Liste_Zu_Hyperlink()
Dim oListe As ListObject, Anz As Long
Dim cText As String, Ze As Long
Dim rng As Range
Set oListe = ActiveSheet.ListObjects("Zu_Hyperlink")
With oListe
Anz = .ListRows.Count
For Ze = 1 To Anz
Set rng = .ListRows(Ze).Range
cText = rng
.ListRows(Ze).Range.Hyperlinks.Add rng, cText
Next Ze
End With
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink und PowerQuery
21.06.2020 15:14:19
fcs
Hallo Uli,
um an die einzelnen Zellen des Listobjekts zu kommen muss man über das DataBodyRange-Objekt des Listobjekts gehen.
Grundsätzlich erfordert ein Hyperlink auch die Angabe eines Verzeichnisses.
Deine Infos liefern keine Angaben zum Verzeichnis der PDF-Dateien.
Das Makro verwendet so für die Hyperlinks der Dateien das Verzeichnis in dem die Excel-Datei mit dem Makro gespeichert ist.
LG
Franz
Sub Liste_Zu_Hyperlink()
Dim oListe As ListObject, Anz As Long
Dim cText As String, Ze As Long
Dim rng As Range
Set oListe = ActiveSheet.ListObjects("Zu_Hyperlink")
With oListe
Anz = .ListRows.Count
For Ze = 1 To Anz
Set rng = .DataBodyRange.Cells(Ze, 1)
cText = rng.Text
rng.Hyperlinks.Add rng, cText
Next Ze
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Hyperlink in Power Query effektiv nutzen


Schritt-für-Schritt-Anleitung

Um einen Hyperlink in Power Query zu erstellen und sicherzustellen, dass alle PDF-Dateien in einem Ordner korrekt verlinkt werden, kannst du folgende Schritte ausführen:

  1. Datenquelle einrichten: Stelle sicher, dass du eine Datenverbindung mit Power Query eingerichtet hast, die auf den Ordner mit den PDF-Dateien verweist.

  2. Abfrage erstellen:

    • Öffne Power Query und lade die Datenquelle.
    • Filtere die Abfrage, falls nötig, um nur die gewünschten PDF-Dateien anzuzeigen.
  3. Hyperlinks generieren:

    • Du kannst ein Makro verwenden, um die Hyperlinks automatisch zu erstellen. Achte darauf, das korrekte Verzeichnis für die PDF-Dateien anzugeben.
Sub Liste_Zu_Hyperlink()
    Dim oListe As ListObject, Anz As Long
    Dim cText As String, Ze As Long
    Dim rng As Range
    Set oListe = ActiveSheet.ListObjects("Zu_Hyperlink")
    With oListe
        Anz = .ListRows.Count
        For Ze = 1 To Anz
            Set rng = .DataBodyRange.Cells(Ze, 1)
            cText = rng.Text
            rng.Hyperlinks.Add rng, cText
        Next Ze
    End With
End Sub
  1. Abfrage aktualisieren: Stelle sicher, dass die Abfrage alle 60 Minuten aktualisiert wird, um neue Dateien automatisch hinzuzufügen.

Häufige Fehler und Lösungen

  • Laufzeitfehler 13: Typen unverträglich: Dieser Fehler tritt häufig auf, wenn in deinem Makro die falschen Datentypen verwendet werden. Stelle sicher, dass du beim Erstellen des Hyperlinks den korrekten Zellbereich angibst. Verwende .DataBodyRange anstelle von .Range, um auf die Zellen des Listobjekts zuzugreifen.

  • Keine Hyperlinks in Power Query: Wenn die Hyperlinks nicht erstellt werden, überprüfe, ob der Pfad zu den PDF-Dateien korrekt ist. Der Pfad muss das Verzeichnis enthalten, in dem die Excel-Datei gespeichert ist.


Alternative Methoden

Eine alternative Methode zur Erstellung von PowerQuery Hyperlinks ist die Verwendung von Excel-Formeln. Du kannst die HYPERLINK-Funktion in einer neuen Spalte verwenden, um Links zu den PDF-Dateien zu generieren:

=HYPERLINK("C:\Pfad\zu\deiner\Datei\" & A1, A1)

Hierbei wird der Link dynamisch erstellt, indem der Dateipfad mit dem Dateinamen aus der Zelle A1 kombiniert wird.


Praktische Beispiele

  • Beispiel 1: Du hast eine Liste von PDF-Dateien in Spalte A, und möchtest in Spalte B die Hyperlinks zu diesen Dateien erstellen. Verwende die oben genannte Formel in der ersten Zelle von Spalte B und ziehe sie nach unten.

  • Beispiel 2: Mit dem Makro aus der Schritt-für-Schritt-Anleitung kannst du alle Hyperlinks in einer Tabelle automatisch erstellen, was besonders nützlich ist, wenn du regelmäßig neue Dateien hinzufügst.


Tipps für Profis

  • Verwendung von Variablen: Um den Code lesbarer zu machen, kannst du Variablen für den Dateipfad und den Dateinamen definieren.

  • Automatische Aktualisierung: Stelle sicher, dass die Abfrage so konfiguriert ist, dass sie automatisch aktualisiert wird, damit du immer die neuesten Hyperlinks hast.

  • Power Query Links abschneiden: Wenn du nur einen Teil des Links benötigst, kannst du die LEFT- oder RIGHT-Funktionen in Excel verwenden, um die URL entsprechend zu kürzen.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Hyperlinks immer aktuell sind?
Indem du die Power Query-Abfrage so einstellst, dass sie sich regelmäßig aktualisiert, bleiben die Hyperlinks immer auf dem neuesten Stand.

2. Was tun, wenn ich einen Laufzeitfehler erhalte?
Überprüfe deine Zellreferenzen und stelle sicher, dass alle verwendeten Variablen korrekt deklariert und initialisiert sind. Der Fehler tritt oft auf, wenn die Datenquelle nicht im erwarteten Format vorliegt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige