在我原始的数据工作表中,我创建了一个VBA脚本,该脚本在一列,#34; A"中为单元格值创建超链接。
列中显示的文字" A"运行脚本后的单元格是原始单元格值。这个脚本工作得很好。
然后使用此工作表数据创建数据透视表。当然,超链接在数据透视表中消失了。
我希望能够做的是点击数据透视表中的单元格值,让它在原始工作表中查找该值,然后打开超链接。
我使用的是Excel 2013,数据透视表是经典的数据透视表视图。
答案 0 :(得分:0)
解决方案:我们说这是您的资料工作表,名为Sheet1
:
<强> Sheet 1中强>
单元格A2
正在链接到网站。您的第二张工作表Sheet2
包含Sheet1
中数据的数据透视表:
<强> Sheet 2中强>
如果我理解你的要求,你想要点击&#34;彼得&#34;在Sheet2
中打开包含&#34; Peter&#34;的单元格中链接的URL在Sheet1
。您可以通过将以下代码添加到Sheet2
(右键单击标签行中的Sheet2
并选择&#34;查看代码&#34;)来实现这一目标。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Columns.Count = 1 And Target.Rows.Count = 1 And Target.Column = 1 Then
Dim SourceSheet As Worksheet
Dim SourceRange As Range
Dim HyperlinkAddress As Range
Set SourceSheet = ThisWorkbook.Sheets("Sheet1")
Set SourceRange = SourceSheet.Range("A:A")
' Find cell address in Sheet1
On Error Resume Next
Set HyperlinkAddress = SourceSheet.Range("A" & _
Application.WorksheetFunction.Match(Target.Value, SourceRange, 0))
If HyperlinkAddress.Hyperlinks.Count = 1 Then
' Click hyperlink
ThisWorkbook.FollowHyperlink (HyperlinkAddress.Hyperlinks(1).Address)
End If
End If
End Sub
说明:在Excel工作表中选择其他单元格时会触发事件Worksheet_SelectionChange
。上面的代码将首先检查您是否在A列中选择了(并且只有1个)单元格,如果是,请在Sheet1
中找到与包含您单击的单元格值的单元格对应的行号。一旦找到,它就会验证单元格是否包含链接地址,如果有,请单击它。