Excel 2016. Wie verwandle ich eine Hyperlink-Zelle in Text?

Excel 2016. Wie verwandle ich eine Hyperlink-Zelle in Text?

Ich habe eine Textspalte, die nur aus Hyperlinks besteht. Ich möchte den Text und die URL in separate Felder kopieren.

Beispielsweise enthält Zelle(A1) "Apple" (Hyperlink zuhttp://www.apple.com)

Ich möchte die Werte in D und E eingeben

D1 würde "Apple" enthalten

E1 würde die URL enthaltenhttp://www.apple.com

Function GetURL(HyperlinkCell As Range)
    GetURL = Replace(HyperlinkCell.Hyperlinks(1).Address, "file:", "")
End Function

Ich habe dies in ThisWorkbook (VBA) versucht und habe die Ergebnisse erhalten als#NAME?in meiner Tabelle

Antwort1

Sie müssen Ihre Funktion in einemStandardmodul:

Bildbeschreibung hier eingeben

und dann klappt es:

Bildbeschreibung hier eingeben

Antwort2

Sie müssen Ihren Code in einem normalen Modul platzieren:

  • Klicken Sie mit der rechten Maustaste auf Ihr Projekt im VBE
  • Einfügen: Modul
  • (Optional) Geben Sie Ihrem Modul einen sinnvolleren Namen

Schneiden Sie Ihren Code aus und fügen Sie ihn dort ein. Dann sollte es problemlos funktionieren!

Um Ihre Absichten etwas deutlicher zu machen, können Sie Ihren Funktionsheader erweitern, indem Sie ihn explizit als PublicFunktion deklarieren (ohne zu sagen, dass sich dadurch nichts ändert, aber manche Leute gehen dann davon aus, dass dies implizit der Fall ist Private) und indem Sie den Rückgabetyp wie folgt festlegen String:

Public Function GetURL(HyperlinkCell As Range) as String

Da die Hyperlink-Eigenschaft nur Zeichenfolgen enthält, ist es nicht verkehrt, sie in Ihrer UDF explizit zu machen.

verwandte Informationen