从= Hyperlink()

时间:2017-03-02 19:48:17

标签: excel-vba vba excel

我正在尝试从使用公式生成的链接中提取评估的公式:

=HYPERLINK("https://www.google.com/search?q="&A1&B1,"Link")
A1vbaB1help

我已经看过很多很多线程,甚至有些SO threads提出了建议,但他们只是让我接触...q=,而没有考虑我还有更多的文字。

我到目前为止最好的运气来自this thread,我已将其调整为搜索B1这样:

...
S = Left(S, InStr(S, "B17") + 2)
...

但它会返回https://www.google.com/search?q="&A1&B1

如何在返回URL之前首先评估这些单元格中的内容?

1 个答案:

答案 0 :(得分:2)

我认为我是在思考这个问题。感谢@MacroMan让我直截了当。我把以下内容放在一起,相当笨重,宏观。

Function hyperlinkText(rg As Range) As String
' Inspired by https://stackoverflow.com/questions/32230657/extract-url-from-excel-hyperlink-formula/32233083#32233083
Dim sFormula As String
Dim Test As String

sFormula = rg.Formula
Test = Mid(sFormula, WorksheetFunction.Search("""", sFormula), WorksheetFunction.Search(",", sFormula) - WorksheetFunction.Search("""", sFormula))
hyperlinkText = Evaluate("=" & Test)
End Function

这可以采用如下网址:
=HYPERLINK("https://www.google.com/search?q="&A17&B17,"Link")并返回已评估的网址:

enter image description here