列表中的超链接数据透视表

我有代码来扫描文档,并用超链接打印透视表的所有名称。 但不确定如何将其链接到数据透视表的位置。 这里是代码:

Sub Button20_Click() Dim sh As Worksheet Dim cell As Range Dim pvt As PivotTable Range("A1").Select For Each sh In ActiveWorkbook.Worksheets For Each pvt In sh.PivotTables ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'" & pvt.Name & "'", TextToDisplay:=pvt.Name ActiveCell.Offset(1, 0).Select Next pvt Next sh End Sub 

我select了TableRange2的第一个单元格作为SubAddress 。 这应该是数据透视表左上angular的单元格。 External:=True参数将创build完整地址,包括数据透视表所在的工作表:

 Sub PivotHyperLinks() Dim ListStart As Range Dim sh As Worksheet Dim pvt As PivotTable Dim i As Long With ActiveSheet Set ListStart = .Range("A50") For Each sh In ActiveWorkbook.Worksheets For Each pvt In sh.PivotTables .Hyperlinks.Add Anchor:=ListStart.Offset(i, 0), Address:="", SubAddress:= _ pvt.TableRange2.Cells(1).Address(external:=True), TextToDisplay:=pvt.Name i = i + 1 Next pvt Next sh End With ListStart.Select End Sub 

我也修改了代码,不使用Select语句。 他们通常要避免效率低下(尽pipe他们在这里没有太大的伤害)。 链接仍然被添加到ActiveSheet。

编辑:我添加了最后一个Select语句,带你到链接列表的开始。