gpt4 book ai didi

excel - 从 Excel 超链接公式中提取 URL

转载 作者:行者123 更新时间:2023-12-02 10:42:56 27 4
gpt4 key购买 nike

我有一个 Excel 文件,其中包含数百个使用超链接公式 =HYPERLINK( <targetURL>, <friendlyName> ) 的单元格。我需要从中提取纯文本 URL。我发现的大多数示例都依赖于使用不同超链接方法的单元格。

所以像这样的函数:

Function HyperLinkText(pRange As Range) As String

Dim ST1 As String
Dim ST2 As String

If pRange.Hyperlinks.Count = 0 Then
HyperLinkText = "not found"
Exit Function
End If

ST1 = pRange.Hyperlinks(1).Address
ST2 = pRange.Hyperlinks(1).SubAddress

If ST2 <> "" Then
ST1 = "[" & ST1 & "]" & ST2
End If

HyperLinkText = ST1

End Function

导致单元格文本“未找到”。或者,有没有办法将这些单元格转换为其他超链接格式,以便我的宏可以工作?

最佳答案

这里的方法将返回超链接文本,无论它是由公式还是由插入/超链接方法创建的。

如果是前者,我们只需要解析公式即可;如果是后者,我们需要迭代工作表上的超链接集合。

如果cell_ref中没有超链接,则公式不会返回任何内容;改变以适应。

<小时/>
Option Explicit
Function HyperLinkText(rg As Range)
Dim sFormula As String, S As String
Dim L As Long
Dim H As Hyperlink, HS As Hyperlinks

sFormula = rg.Formula
L = InStr(1, sFormula, "HYPERLINK(""", vbBinaryCompare)

If L > 0 Then
S = Mid(sFormula, L + 11)
S = Left(S, InStr(S, """") - 1)
Else
Set HS = rg.Worksheet.Hyperlinks
For Each H In HS
If H.Range = rg Then
S = H.Address
End If
Next H
End If

HyperLinkText = S

End Function
<小时/>

关于excel - 从 Excel 超链接公式中提取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32230657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com