为什么 excel 删除所有粘贴的超链接,如果我后来从其中任何一个删除了任何超链接?
Why excel delete all the pasted hyperlinks, if I later removed any hyperlink from any one of them?
我正在使用以下代码将超链接从一个单元格复制到一个范围。
超链接已粘贴并正常工作,
但是如果我后来从任何一个粘贴的超链接中删除了任何超链接,那么来自目标单元格的所有超链接都会被删除!!
这个问题发生在我使用 vba(复制、粘贴和删除)或仅使用 excel。
我用的是office 2016.
Sub Hyperlinks_Issue()
Range("R2").Copy Range("N2:N15")
Range("N2").Hyperlinks.Delete
End Sub
问题与 Range("R2").Copy Range("N2:N15")
将 R2
中的超链接附加到 N2:N15
的整个范围有关。您可以通过立即插入以下代码来检查这一点:
Debug.Print (Range("N2:N15").Hyperlinks.Count)
这 returns 1
,意味着整个范围只有一个超链接(而不是您可能期望的 14 个)。如果你检查这个:
Debug.Print (Range("N2").Hyperlinks(1).Range.Address)
你会看到它 returns $N:$N
。因此,当您使用 Range("N2").Hyperlinks.Delete
时,您只是删除了附加到整个范围的 one 超链接。
为避免这种情况,请遍历目标范围内的所有单元格,并分别为每个单元格附加超链接。例如
Sub copyHyperlinks()
For Each myCell In Range("N2:N15")
Range("R2").Copy myCell
Next myCell
Debug.Print (Range("N2:N15").Hyperlinks.Count) '= 14
End Sub
现在,Range("N2").Hyperlinks.Delete
只会删除此特定单元格中的超链接。
我正在使用以下代码将超链接从一个单元格复制到一个范围。
超链接已粘贴并正常工作,
但是如果我后来从任何一个粘贴的超链接中删除了任何超链接,那么来自目标单元格的所有超链接都会被删除!!
这个问题发生在我使用 vba(复制、粘贴和删除)或仅使用 excel。
我用的是office 2016.
Sub Hyperlinks_Issue()
Range("R2").Copy Range("N2:N15")
Range("N2").Hyperlinks.Delete
End Sub
问题与 Range("R2").Copy Range("N2:N15")
将 R2
中的超链接附加到 N2:N15
的整个范围有关。您可以通过立即插入以下代码来检查这一点:
Debug.Print (Range("N2:N15").Hyperlinks.Count)
这 returns 1
,意味着整个范围只有一个超链接(而不是您可能期望的 14 个)。如果你检查这个:
Debug.Print (Range("N2").Hyperlinks(1).Range.Address)
你会看到它 returns $N:$N
。因此,当您使用 Range("N2").Hyperlinks.Delete
时,您只是删除了附加到整个范围的 one 超链接。
为避免这种情况,请遍历目标范围内的所有单元格,并分别为每个单元格附加超链接。例如
Sub copyHyperlinks()
For Each myCell In Range("N2:N15")
Range("R2").Copy myCell
Next myCell
Debug.Print (Range("N2:N15").Hyperlinks.Count) '= 14
End Sub
现在,Range("N2").Hyperlinks.Delete
只会删除此特定单元格中的超链接。