如何仅将超链接(而不是文本)复制到另一个单元格?

如何仅将超链接(而不是文本)复制到另一个单元格?

我有一张电子表格,其中 A 列显示姓名。有几百个姓名,每个姓名都有不同的超链接(链接到该人的网页)。我想将这些超链接转移到另一列,该列包含不同的文本,但没有超链接。

A 列中并非每个单元格都有超链接。有几组单元格合并在一起,因此 A2:A7 有一个链接,A8:A13 下一个,A9:10 下一个(即合并的单元格数量不一致)。

例如,A2:A7 显示“Bob”并链接到 www.bob.com,我希望 I2:I7(显示“Smith”且不链接到任何内容)链接到 www.bob.com。我想重复执行此操作,将 A2:A579 中的链接复制到 I2:I579。

该信息是从网页内的表格复制而来的,超链接也来自于此。

答案1

这个宏将有助于

Sub SwapIt()

For i = 2 To 579

If Range("A" & i).Value <> "" And Range("I" & i).Value <> "" Then

    Dim newLink As String ' the new link string needs a place to live... just like me!

    If Range("A" & i).Hyperlinks.Count = 1 Then
    newLink = Range("A" & i).Hyperlinks(1).Address ' Get the old horrible link :)
    Range("I" & i).Hyperlinks.Add anchor:=Range("I" & i), Address:=Range("I" & i) ' horrible hack, just to get it to a link
    Range("I" & i).Hyperlinks(1).Address = newLink '' replace with the new link... Much better. Like a ray of sunshine
    End If
End If

Next i

End Sub

这会将超链接从 A2 移动到 I2,然后将 A3 移动到 I3 等

相关内容