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

问题描述 投票:0回答:6

我正在尝试检查 A 列中的值是否包含链接,如果为真,我想在 B 列中键入文本,例如:链接。 我有很多记录(10 000),因此手动执行此操作将花费大量时间。谢谢。

excel hyperlink
6个回答
10
投票
  • 将文件另存为 .xlsm 以允许宏
  • Alt + F11 打开 Visual Basic
  • 插入 -> 模块
  • 粘贴这个函数,它返回一个范围内的超链接数量:
函数 IsHyperlink(r As Range) As Integer
IsHyperlink = r.Hyperlinks.Count
结束功能
  • Alt+Q

  • 使用带有 if 条件的新函数来显示文本:

     =IF(IsHyperlink(A1),"链接","无链接")

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 的更多内容。还请始终首先分享您的研究成果,并至少分享一个代码存根。这很简单,因此是例外。


0
投票

有一个可行的公式,但它基于单元格中字符的长度。例如,由于路径名的原因,超链接通常包含更多字符。例如,如果单元格中的字符数始终小于 30,那么您可以编写公式

 =If(Len(Cell("Filename",A1))>30,"True","False")

如果单元格是超链接,公式将返回“True”。 此公式假设 Excel 文件存储在子文件夹中,其中引用了每个文件夹名称,这会增加超链接的长度。


0
投票

无需 VBA 的近似解决方案:

=AND(ISREF(A1),ISNUMBER(SEARCH("http",A1,1)))

它基于要求两个条件:

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

0
投票

由于链接(如果我们谈论的是链接,而不是超链接)是公式,因此这应该有效(除非您也有没有链接的公式):

=IF(ISFORMULA(A1),"LINK","")

-5
投票

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

我用过

=IF(HYPERLINK(A1>0), "WEB", "")

感谢大家抽出时间。 :)

© www.soinside.com 2019 - 2024. All rights reserved.