Excel 2016。

Excel 2016。

我有一列文本,其中都是超連結。我想將文字和網址複製到單獨的欄位中。

例如,單元格(A1)具有“Apple”(指向的超連結)http://www.apple.com

我想將值放入D和E中

D1 將包含“Apple”

E1 將包含 URLhttp://www.apple.com

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

我在 ThisWorkbook (VBA) 中嘗試了這個,得到的結果為#姓名?在我的電子表格中

答案1

您需要將您的函數放在標準模組:

在此輸入影像描述

然後它就會起作用:

在此輸入影像描述

答案2

您必須將程式碼放在普通模組中:

  • 在 VBE 中右鍵點選您的項目
  • 插入:模組
  • (可選)為您的模組指定一個更合理的名稱

在那裡剪切/粘貼您的代碼。那麼它應該可以正常工作!

為了使您的意圖更加清晰,您可以透過明確地將其聲明為函數Public(不是說它不會改變任何內容,但有些人會假設它是隱式的Private)並將返回類型設為String:來擴展函數頭:

Public Function GetURL(HyperlinkCell As Range) as String

由於 Hyperlink 屬性僅包含字串,因此在 UDF 中明確顯示它並沒有什麼問題。

相關內容