检查单元格中是否包含Excel中的链接

时间:2015-04-09 09:23:58

标签: excel hyperlink

我正在尝试检查列中的值(例如A)是否包含链接,如果为true,则在列B中,我想键入文本,例如:link。 我有很多记录(10 000),所以手工做这将花费很多时间。 THX。

5 个答案:

答案 0 :(得分:5)

  • 将文件另存为.xlsm以允许宏
  • Alt + F11 以打开Visual Basic
  • 插入 - >的模块
  • 粘贴此函数,它返回范围内的超链接计数:
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)))

它基于要求两个条件:

  1. 单元格中有引用(适用于超链接和内部引用)
  2. 单元格文本(链接)包含字符串“http”,以覆盖 http 和 https

答案 4 :(得分:-3)

我设法找到了一个公式,而不是VBA。

我使用了=IF(HYPERLINK(A1>0), "WEB", "")

谢谢大家的时间。 :)