如何在excel vba中单击切片器中的值时运行宏

时间:2015-01-17 10:59:26

标签: excel excel-vba vba

我的Excel中有一个切片器,带有以下2个值

添加客户 添加供应商

我想在点击这些值时打开2种不同的表单。任何人都可以帮助我。

3 个答案:

答案 0 :(得分:4)

是的,您可以在切片器点击上调用不同的表单,请检查以下代码。希望它符合您的要求,如果没有,您可以根据您的要求进行更改。

Worksheet_PivotTableUpdate事件中编写代码时,在每个切片器上单击此事件将被调用。

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

If ActiveWorkbook.SlicerCaches("Slicer_Region").SlicerItems("East").Selected = True Then
UserForm1.Show
ElseIf ActiveWorkbook.SlicerCaches("Slicer_Region").SlicerItems("West").Selected = True Then
UserForm2.Show
End If

End Sub

其中, Slicer_Region ="在公式中使用的名称"

您可以通过右键单击切片器并单击切片器设置来获取此名称。并找到在公式中使用的名称。

东方或西方="切片机的名称"

您要为其调用不同的表单。

答案 1 :(得分:0)

解决方案有效,但代码必须在带有数据透视表的工作表的代码模块中

答案 2 :(得分:0)

它在主切片器上不起作用,但是如果您选择任何特定项目,它就起作用。在这种情况下,最好在切片器本身上设置宏。你只需要点击切片器,它就会自动运行。