Excel 2016. Womit kann ich eine Hyperlink-Zelle in Text umwandeln?

529
software is fun

Ich habe eine Textspalte, die alle Hyperlinks sind. Ich möchte den Text und die URL in separate Felder kopieren.

Für Beispiel hat Zelle (A1) "Apple" (Hyperlink zu http://www.apple.com ).

Ich möchte die Werte in D und E setzen

D1 würde "Apple" enthalten

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

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

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

0

2 Antworten auf die Frage

1
Gary's Student

Sie müssen Ihre Funktion in einem Standardmodul platzieren :

und dann wird es funktionieren:

0
Inarion

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

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

Dort den Code ausschneiden / einfügen. Es sollte dann gut funktionieren!

Um Ihre Absichten etwas klarer zu machen, können Sie Ihren Funktionsheader erweitern, indem Sie ihn explizit als PublicFunktion deklarieren (wenn Sie nicht angeben, dass nichts geändert wird, aber einige Benutzer davon ausgehen, dass dies implizit ist Private) und indem Sie den Rückgabetyp auf Folgendes setzen String:

Public Function GetURL(HyperlinkCell As Range) as String 

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