我需要一些相当简单的宏的帮助,但我无法做到这一点。所以我想要的是在滤镜之间切换 - 我有两种可能性,例如两种颜色 - 黑色和白色,我只想在其中有一个(我想添加按钮,所以它可以用作开关) 。这是情况
我尝试过有条件的做法,当然它不起作用,但希望它能帮助你理解我的想法。如果启用了一个过滤器,则禁用另一个过滤器(因此显然也与之相关的对象)。
Sub Makro5()
ActiveSheet.PivotTables("PivotTable3").PivotFields("colour"). _
CurrentPage = "(All)"
If ActiveSheet.PivotTables("PivotTable3").PivotFields("colour")
.PivotItems("black").Visible = False
.PivotItems("white").Visible = True
Then ActiveSheet.PivotTables("PivotTable3").PivotFields ("colour")
.PivotItems("black").Visible = True
.PivotItems("white").Visible = False
Else: ActiveSheet.PivotTables("PivotTable3").PivotFields ("colour")
.PivotItems("black").Visible = False
.PivotItems("white").Visible = True
End Sub
If有问题,因为它是红色的,我得到" Complie错误:语法错误"信息
答案 0 :(得分:0)
您需要将Then
与If
放在同一行。 (你可以使用_
告诉VBA“代码在下一行继续”)
您还没有正确设置And
,和,在检查它们是否可见之前,您可以看到“黑色”和“白色”?
试试这个:
Sub ToggleColour()
With ActiveSheet.PivotTables("PivotTable3").PivotFields("colour")
If .PivotItems("white").Visible=True Then
.CurrentPage = "black"
Else
.CurrentPage = "white"
End If
End With
End Sub
答案 1 :(得分:0)
这就是切片器的基础。
将光标放在pivottable数据区域内。然后转到插入>切片机>并选择colour
。然后你会有一个切片器,你可以选择或。我不知道你是否可以在当前的excel版本中禁用多选,这样用户可以按ctrl并选择两者。但这似乎是一种简单的方法。
或者您可以运行以下代码,然后用户只需键入黑色或白色字段并应用过滤器:
Sub Test()
Dim wb As Workbook
Dim ws As Worksheet
Dim pvt As PivotTable
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Sheet3")
Set pvt = ws.PivotTables("PivotTable3")
Dim pvtField As PivotField
Dim item As Long
Dim item2 As Long
Set pvtField = pvt.PivotFields("Colour")
pvtField.EnableItemSelection = False
End Sub