宏按钮基于Slicer复制数据透视表中的链接

时间:2017-10-26 17:16:45

标签: excel vba pivot-table slicers

我从一个包含所有数据的数据透视表开始。其中一个数据字段是我最终要将用户发送到的URL字符串。

为了尽可能简单地搜索数据透视表,我有几个切片窗口让用户点击他们的搜索条件。我想做的是,基于他们的搜索条件(一旦缩小到一个结果),有一个宏按钮,自动启动他们的浏览器(比如说Internet Explorer)与数据透视表中的链接。

我可以弄清楚浏览器的启动(或只是复制文本),但有没有办法可以根据与我的数据透视表关联的切片器的选择来编程宏按钮的操作?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望在数据透视表中只显示一个链接时(在将切片器应用到它之后)启动代码。

您可以使用Worksheet_PivotTableChangeSync事件和辅助单元格来实现此目的。

我们假设您从第G列开始,在G2列中设置了数据透视表。在单元格=COUNTA(G3:G20)中输入此公式G1(根据您的需要调整范围)。

enter image description here

然后在您的工作表模块(不是常规模块)中输入此代码。

Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
Dim a As Long
a = Range("G1").Value
If a = 1 Then
    'your code for link in cell G3
Else
End If
End Sub

现在,当您将数据透视表切片为仅一个选择时,COUNTA公式将评估为1并触发Worksheet_PivotTableChangeSync事件。