我正在尝试检查列中的值(例如A)是否包含链接,如果为true,则在列B中,我想键入文本,例如:link。 我有很多记录(10 000),所以手工做这将花费很多时间。 THX。
答案 0 :(得分:5)
Function IsHyperlink(r As Range) As Integer IsHyperlink = r.Hyperlinks.Count End Function
<强>替代+ Q 强>
将新功能与if条件一起使用以显示文字:
=IF(IsHyperlink(A1),"LINK","NO LINK")
答案 1 :(得分:2)
下面:
Sub Links()
Dim lnk As Hyperlink, lnks As Hyperlinks
Set lnks = Range("A:A").Hyperlinks
For i = 1 To lnks.Count
Set lnk = lnks(i)
lnk.Range.Value = "Link"
Next
End Sub
如果您想使用上述步骤,则需要阅读有关VBA的更多信息。请始终先分享您的研究,至少是一个代码存根。这很简单,因此例外。
答案 2 :(得分:0)
有一个公式可行,但它基于单元格中字符的长度。例如,由于路径名,超链接通常包含更多字符。例如,如果单元格中的字符数始终小于30,则可以编写公式
=If(Len(Cell("Filename",A1))>30,"True","False")
公式将返回&#34; True&#34;如果单元格是超链接。 此公式假定Excel文件存储在子文件夹中,其中引用了每个文件夹名称,这将添加超链接的长度。
答案 3 :(得分:0)
没有 VBA 的近似解决方案:
=AND(ISREF(A1),ISNUMBER(SEARCH("http",A1,1)))
它基于要求两个条件:
答案 4 :(得分:-3)
我设法找到了一个公式,而不是VBA。
我使用了=IF(HYPERLINK(A1>0), "WEB", "")
谢谢大家的时间。 :)