【问题标题】:VBA: Convert populated cells in columns to hyperlinksVBA:将列中的填充单元格转换为超链接
【发布时间】:2016-05-07 16:22:17
【问题描述】:

我有一个 SQL 脚本作为 Excel 中的数据连接,它基本上返回 3 列。这 3 列都是超链接的文本。这 3 列可以包含空值/空单元格。

我找到了一个可以运行的 VBA 脚本,它将这些超链接文本转换为实际的超链接(因为您可以单击单元格,它会将您带到网页)。

我的问题是: VBA 脚本也将空/空单元格转换为超链接(这当然无处可去,即,您单击单元格,它什么也不做)。 p>

我的问题是:如何编辑此脚本以仅将非空/填充单元格转换为超链接?

到目前为止的脚本:

Sub HyperlinkConverter()
For Each xCell In Range("M:O")
    ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
Next xCell
End Sub

伪脚本:

Sub HyperlinkConverter()
For Each xCell In Range("M:O") **WHERE RANGE("M:O") IS NOT NULL (or) RANGE("M:O") <> ""**
    ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
Next xCell
End Sub

【问题讨论】:

    标签: vba excel hyperlink


    【解决方案1】:

    只需测试每个单元格:

    Sub HyperlinkConverter()
       For Each xCell In Range("M:O")
          If xCell.Value <> "" Then
             ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
          End If
       Next xCell
    End Sub
    

    编辑#1:

    要避开第一行:

    Sub HyperlinkConverter()
       For Each xCell In Range("M:O")
          If xCell.Value <> "" And xCell.Row <> 1 Then
             ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
          End If
       Next xCell
    End Sub
    

    【讨论】:

    • 完美...我希望它对我来说也如此简单。非常感谢,将在...9 分钟内接受。谢谢加里的。
    • 我可以再提出一个要求吗?如果我想添加到 If-Then 的附加标准,如果它不为空,则将被转换为超链接的单元格也不在第 1 行?就像我错误地将标题转换为超链接一样。
    • @Chase 查看我的EDIT#1
    • 哇,我下次就知道了。非常感谢。已接受答案!
    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2012-09-08
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 2016-08-23
    相关资源
    最近更新 更多