我有一张电子表格,其中 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 等