使用数据透视表事件创建Excel超链接VBA的能力

carvr3hs  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(428)

我目前有一个数据透视表,它在数据集中存储了超链接。当您双击时,数据是静态的,超链接只是文本。
有没有一种方法可以用VBA创建一个事件,当用户点击透视表时,它会运行一个代码并将文本转换为超链接?
谢谢!

Private Sub Workbook_NewSheet(ByVal Sh As Object)
06odsfpq

06odsfpq1#

严格地说,答案是否定的,你不能在数据透视表中插入超链接。
然而,可能有一种方法可以做到你想要的,但这取决于你的超链接是什么。它们是链接到网站吗?超链接地址是直接输入单元格中,还是通过右键单击〉插入超链接或=HYPERLINK公式添加的?
下面的代码可以做你想要的:如果用户单击数据透视表中包含“www.”的单元格,Excel将尝试根据已单击的单元格中的文本打开网站。
此代码必须放在ThisWorkbook模块中。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)

Dim PT As String

On Error Resume Next
    PT = Target.PivotTable.Name
On Error GoTo 0

If PT <> "" Then
    If InStr(Target, "www.") Then
        If Left(Target, 4) = "http" Then
            FollowHyperlink (Target)
        Else
            FollowHyperlink ("https://" & Target)
        End If
    End If
End If

End Sub

相关问题