检查单元格是否包含 link in Excel
Check whether a cell contains a link in Excel
我正在尝试检查 A 列中的值是否包含 link,如果为真,我想在 B 列中键入文本,例如:link .
我有很多记录(10 000 条),因此手动执行此操作会花费很多时间。谢谢
这里:
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 的内容。也请始终首先分享您的研究,至少分享一个代码存根。这很简单,因此例外。
我设法找到了一个公式,而不是 VBA。
我用了=IF(HYPERLINK(A1>0), "WEB", "")
谢谢大家的宝贵时间。 :)
有一个可行的公式,但它基于单元格中字符的长度。例如,由于路径名,超链接通常包含更多字符。例如,如果单元格中的字符数始终少于 30,则可以编写公式
=If(Len(Cell("Filename",A1))>30,"True","False")
如果单元格是超链接,公式将 return "True"。
此公式假定 Excel 文件存储在子文件夹中,其中引用了每个文件夹名称,这增加了超链接的长度。
- 将文件另存为 .xlsm 以允许使用宏
- Alt + F11 打开 Visual Basic
- 插入 -> 模块
- 粘贴这个函数,它returns范围内的超链接数:
Function IsHyperlink(r As Range) As Integer
IsHyperlink = r.Hyperlinks.Count
End Function
Alt+Q
使用带有 if 条件的新函数来显示文本:
=IF(IsHyperlink(A1),"LINK","NO LINK")
没有VBA的近似解:
=AND(ISREF(A1),ISNUMBER(SEARCH("http",A1,1)))
它是基于要求两个条件:
- 单元格中有引用(它适用于超links和内部引用)
- 单元格文本(link)包含字符串“http”,以涵盖 http 和 https
我正在尝试检查 A 列中的值是否包含 link,如果为真,我想在 B 列中键入文本,例如:link . 我有很多记录(10 000 条),因此手动执行此操作会花费很多时间。谢谢
这里:
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 的内容。也请始终首先分享您的研究,至少分享一个代码存根。这很简单,因此例外。
我设法找到了一个公式,而不是 VBA。
我用了=IF(HYPERLINK(A1>0), "WEB", "")
谢谢大家的宝贵时间。 :)
有一个可行的公式,但它基于单元格中字符的长度。例如,由于路径名,超链接通常包含更多字符。例如,如果单元格中的字符数始终少于 30,则可以编写公式
=If(Len(Cell("Filename",A1))>30,"True","False")
如果单元格是超链接,公式将 return "True"。 此公式假定 Excel 文件存储在子文件夹中,其中引用了每个文件夹名称,这增加了超链接的长度。
- 将文件另存为 .xlsm 以允许使用宏
- Alt + F11 打开 Visual Basic
- 插入 -> 模块
- 粘贴这个函数,它returns范围内的超链接数:
Function IsHyperlink(r As Range) As Integer IsHyperlink = r.Hyperlinks.Count End Function
Alt+Q
使用带有 if 条件的新函数来显示文本:
=IF(IsHyperlink(A1),"LINK","NO LINK")
没有VBA的近似解:
=AND(ISREF(A1),ISNUMBER(SEARCH("http",A1,1)))
它是基于要求两个条件:
- 单元格中有引用(它适用于超links和内部引用)
- 单元格文本(link)包含字符串“http”,以涵盖 http 和 https