Excel Visual Basic通过添加URL的一部分将单元格更改为超链接

时间:2013-11-20 17:05:23

标签: excel vba hyperlink

在B栏中,我有部分链接,例如B003KIU14O

我想要实现的是将其转换为超链接并保留在同一列B中。

我的静态(链接的第一部分)链接是http://www.amazon.com/gp/product/

完整链接如下所示:http://www.amazon.com/gp/product/B003KIU14O

如果可能,我希望在B列中显示可视值以显示B003KIU14O并具有超链接

2 个答案:

答案 0 :(得分:1)

点亮你想转换的细胞并运行这个微小的宏:

Sub dural()
    Dim r As Range, s As String, DQ As String
    DQ = Chr(34)
    s = "http://www.amazon.com/gp/product/"
    For Each r In Selection
        v = r.Value
        r.Formula = "=HYPERLINK(" & DQ & s & v & DQ & "," & DQ & v & DQ & ")"
    Next r
End Sub

修改#1

避免手动选择:

Sub dural()
    Dim r As Range, s As String, DQ As String
    DQ = Chr(34)
    Dim rBig As Range
    s = "http://www.amazon.com/gp/product/"
    Dim N As Long
    N = Cells(Rows.Count, "B").End(xlUp).Row
    Set rBig = Range("B1:B" & N)
    For Each r In rBig
        v = r.Value
        r.Formula = "=HYPERLINK(" & DQ & s & v & DQ & "," & DQ & v & DQ & ")"
    Next r
End Sub

答案 1 :(得分:1)

如果您不介意出现在相邻单元格中的超链接,我认为您不需要Visual Basic:将以下内容放在要显示超链接的单元格中(假设您的链接显示在单元格{{1 }}):

B1

然后根据需要复制B列中的其他值。

如果要显示完整的超链接,只需删除第二个参数:

=HYPERLINK("http://www.amazon.com/gp/product/" & B1, B1)