使用excel公式创建指向工作表的超链接

时间:2018-03-07 21:54:11

标签: excel excel-vba excel-formula vba

我有一个名为 Demo 的工作表中包含值A,B和C的列。还有其他三个与列值相同的工作表。我想使用excel公式创建一个超链接,该公式将引用表A,B和C. 我试过这个=HYPERLINK("#'"&A2&"'!A2","Link") 但是这将有另一个列,它将具有友好的名称作为链接。 是否可以在不使用Sheet Demo中的任何其他列的情况下引用相同的值?

1 个答案:

答案 0 :(得分:1)

虽然,我认为也值得考虑VBA(因为你在原始问题中加入了这个标签)。

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo restoreevents
    Application.EnableEvents = False

    Dim sn As String: Const hf As String = "=HYPERLINK(""#'{ref}'!A2"",""{ref}"")"
    With Me
        If Not Intersect(Target, .Range("A2:A4")) Is Nothing _
        And Len(Target.Value2) <> 0 Then
            sn = Target.Value2
            Application.Undo
            Target.Formula = Replace(hf, "{ref}", sn)
        End If
    End With

restoreevents:
    Application.EnableEvents = True

End Sub

在目标范围内键入工作表名称后,上面的代码将使用公式进行超链接。