Excel 365 HYPERLINK 并将列转换为活动链接

Excel 365 HYPERLINK 并将列转换为活动链接

我有一列网址,有些是 abc.com,有些是https://def.com。我该如何将整个列转换为活动超链接?根据我所做的实验,abc.com 似乎需要在前面加上 https://。我是新手,所以需要完整的说明。

虽然这个方法有效,目标列中填充了正确的超链接,我将其拖到目标列的底部,一切都按预期发生了变化,但我仍然需要保留原始列。如果我清除原始列,目标将只有“https://”,而没有实际目标。我知道有一种方法可以复制目标列并粘贴它,这样链接就不会引用原始列,但我尝试的所有方法都会删除超链接。如何清除/删除原始列并将目标保留为真正的超链接?

答案1

您可以使用IF函数来测试单元格是否已经以http如果没有则将其添加到HYPERLINK

就像是:

=IF(LEFT(A2,4)="http",HYPERLINK(A2),HYPERLINK("http://"&A2))

如果您希望将超链接直接作为超链接而不是作为公式,您可以:

  1. 复制单元格B(或上述公式所在的列)
  2. 粘贴价值观到列A(原始数据所在的位置),然后您可以删除列B
  3. A立即创建列超链接(所有都有),请选择具有这些链接的http://列范围,然后运行此 VBA 宏:A

Alt使用+打开 VBA 窗口F11,选择窗口中的所有代码并粘贴此代码,然后按下其顶部的绿色运行箭头键:

Sub HyperAdd()
Dim xCell As Range
    For Each xCell In Selection
        ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
    Next xCell
End Sub

老实说,如果我们需要 VBA,那么我们就用 VBA 来完成整个事情……

选择列中的范围A(不要选择整列,仅选择有值的范围),然后打开 VBA 并粘贴并运行此代码:

Sub AddHTTPandHyperlink()
    Dim rng As Range
    Dim cell As Range
    
    ' Check if any cells are selected
    If Selection.Cells.Count = 0 Then
        MsgBox "No cells selected."
        Exit Sub
    End If
    
    ' Loop through each selected cell
    For Each rng In Selection
        ' Check if the cell value is a string and doesn't start with "http://"
        If TypeName(rng.Value) = "String" And Not rng.Value Like "http://*" Then
            rng.Value = "http://" & rng.Value ' Add "http://" to the beginning
        End If
    Next rng

    'Converts each text hyperlink selected into a working hyperlink
    For Each xCell In Selection
        ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
    Next xCell
End Sub

相关内容