【问题标题】:recreate hyperlink, or create net hyperlink VBA excel重新创建超链接,或创建网络超链接 VBA excel
【发布时间】:2014-05-06 11:27:10
【问题描述】:

我有 2 张纸。在其中一张表 (sheet1) 中,我有 1 个超链接,文件地址为 \sii\picture\as.jpg 超链接名为“LINK”。我需要重新创建这个没有“格式”(背景颜色和其中任何一个)的超链接。我需要使用 VBA 来做到这一点。

当我尝试这个时,我得到一个错误

Localization = Sheets("Sheet1").Range("A1").Hyperlinks(1).Address

Sheets("Sheet2").Hyperlinks.Add Anchor:=Sheets("sheet2").Cells(2, 2), Address:=Localization, TextToDisplay:="LINK"

如果我做类似的东西

sheets("Sheet1").select

range (Cells(1,1)).select

SELECTION.Copy

sheets("Sheet2").select

range (Cells(1,1)).select

Sheets("Sheet2").Paste

我得到了很好的 hiperlink,但是这个 hiperlink 已经格式化了背景和第一张纸上的任何东西,我的屏幕闪烁,因为 excel 在 sheet1 和 sheet2 之间跳转

【问题讨论】:

  • 要恢复链接更正第一行:Localization = Sheets("Sheet1").Hyperlinks(1).Address 之后,工作正常
  • 如果离开".Range("A1")" 你需要知道超链接的数量。毕竟我把它放在一条线上并且它有效。 Sheets("Sheet2").Hyperlinks.Add Anchor:=Sheets("Sheet2").Cells(2, 1), Address:=(Sheets("Sheet1").Range("A1").Hyperlinks(1)。地址),TextToDisplay:="LINK"

标签: vba excel


【解决方案1】:

这应该适合你。您可能需要修改它以适应您现有的代码

Sub Main()

Dim rngDest As Range
Dim rngSource As Range
Dim wkshtSource As Worksheet
Dim wkshtDest As Worksheet
Dim urlSource As String

    ' Set Worksheet and Range variables for easy reference
    Set wkshtSource = ActiveWorkbook.Sheets("Sheet1")
    Set wkshtDest = ActiveWorkbook.Sheets("Sheet2")
    Set rngSource = wkshtSource.Cells(1, 1)
    Set rngDest = wkshtDest.Cells(2, 2)
    'Gets the address of the hyperlink to copy
    urlSource = rngSource.Hyperlinks(1).Address

    'Creates Hyperlink on second page
    rngDest.Hyperlinks.Add Anchor:=rngDest, Address:=urlSource, TextToDisplay:="Link"

End

【讨论】:

    猜你喜欢
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    相关资源
    最近更新 更多