【问题标题】:Excel VBA to make hyperlink for active cellExcel VBA为活动单元格制作超链接
【发布时间】:2016-07-26 12:07:16
【问题描述】:

我想从工作簿 1 中的活动单元格创建一个链接,我可以在工作簿 2 中使用它。我使用分配给按钮的以下代码:

 With ActiveSheet
   .Hyperlinks.Add Range("F6"), _
      .Parent.FullName & "#'" & .Name & "'!" & "$A$1", TextToDisplay:="link"
 End With

这段代码创建了一个完整路径的链接,我可以在任何工作簿中使用它,但我需要一些我可以做的更改:

  1. 使活动单元格超链接不是代码中指定的单元格A1。
  2. 活动单元格中的值变为文本以显示超链接函数的 arg。

谢谢

Vityata 回答后的 PS:如何将 Range("F6") 更改为 activecell 地址?

【问题讨论】:

    标签: vba excel hyperlink


    【解决方案1】:

    为了获得活动单元格的值和地址,将你的代码更改为以下相应的地方:

    ActiveCell.Address
    ActiveCell.Value
    

    【讨论】:

    • 我们必须使用 ActiveCell.Text 及其工作,而不是 ActiveCell.Value。谢谢。
    【解决方案2】:

    我觉得只是为了结束这个话题。

    Sub Button36_Click()
    Dim newRange As Range
    Set newRange = Range(ActiveCell, ActiveCell.Offset(numRows, numCols))
         With ActiveSheet
       .Hyperlinks.Add Anchor:=newRange, _
          Address:=.Parent.FullName & "#'" & .Name & "'!" & ActiveCell.Address, TextToDisplay:=ActiveCell.Text
          End With
    End Sub
    

    【讨论】:

      【解决方案3】:

      试试这个

      Sub add_links_Input_Column()
      Dim lRow As Long
      Dim ColHead As String
      
      ColHead = InputBox("Enter Column Letter", "Identify Column", [c1].Value)
      If ColHead = "" Then Exit Sub
      
          With ActiveSheet
              lRow = .Range(ColHead & .Rows.Count).End(xlUp).Row
              For Each c In .Range(ColHead & "2:" & ColHead & lRow)
                  ActiveSheet.Hyperlinks.Add anchor:=c, Address:=c.Value
              Next
          End With
      
      End Sub
      

      【讨论】:

      • 您能否再添加一些 cmets 并解释您的解决方案?看看怎么写a good answer
      猜你喜欢
      • 1970-01-01
      • 2016-08-23
      • 2018-09-26
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多