Mezga hat eine Reihe von Zellen, die Hyperlinks enthalten. Diese Hyperlinks bestehen aus Wörtern wie „hier klicken“ oder „Weitere Informationen“. Mit anderen Worten, jeder Hyperlink enthält Anzeigetext, der sich von der zugrunde liegenden URL unterscheidet, die beim Klicken auf den Link aktiviert wird. Mezga möchte wissen, ob es ohne Verwendung eines Makros eine Möglichkeit gibt, die zugrunde liegende URL für jeden dieser Hyperlinks zu extrahieren und diese URL in eine andere Zelle zu platzieren.

Ohne Makros können Sie dies tun:

  1. Klicken Sie mit der rechten Maustaste auf einen Hyperlink. Sie sehen ein Kontextmenü.

  2. Wählen Sie im Kontextmenü die Option Hyperlink bearbeiten. Excel zeigt das Dialogfeld Hyperlink bearbeiten an. (Siehe Abbildung 1.)

  3. Wählen Sie die gesamte URL aus dem Feld Adresse des Dialogfelds aus und kopieren Sie sie (Strg + C).

  4. Drücken Sie die Esc-Taste, um das Dialogfeld Hyperlink bearbeiten zu schließen.

  5. Fügen Sie die URL in eine beliebige Zelle ein.

Beachten Sie, dass dies für einen einzelnen Hyperlink gilt. Wenn Sie eine ganze Reihe von Hyperlinks in einem Arbeitsblatt haben und die URLs wiederherstellen möchten, müssen Sie dies für jeden einzelnen Hyperlink tun. Offensichtlich kann dies sehr schnell langweilig werden.

Das Heilmittel gegen Langeweile – wie sie oder nicht – ist ein Makro. Mit einem Makro ist es ein Kinderspiel, auf die zugrunde liegende URL für einen Hyperlink zuzugreifen. Das Makro muss lediglich auf die Address-Eigenschaft des Hyperlinks achten.

Das folgende Beispiel zeigt ein Makro, das jeden Hyperlink in einem Arbeitsblatt findet, die URL jedes einzelnen extrahiert und diese URL in die Zelle direkt rechts vom Hyperlink einfügt.

Sub ExtractHL()

Dim HL As Hyperlink     For Each HL In ActiveSheet.Hyperlinks         HL.Range.Offset(0, 1).Value = HL.Address     Next End Sub

Anstelle eines „Brute Force“ -Makros können Sie auch eine benutzerdefinierte Funktion erstellen, mit der die URL für jeden Hyperlink extrahiert und zurückgegeben wird, auf den verwiesen wurde:

Function GetURL(rng As Range) As String     On Error Resume Next     GetURL = rng.Hyperlinks(1).Address End Function

In diesem Fall können Sie es platzieren, wo Sie möchten. Wenn Sie beispielsweise möchten, dass die URL eines Hyperlinks in A1 in Zelle C25 aufgeführt wird, geben Sie in Zelle C25 die folgende Formel ein:

=GetURL(A1)

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (3281) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: