我的目的:在文件的工作表中,有一个复选框列表,我可以检查这些复选框,以便选择位于文件另一工作表中的切片器'A'的特定切片。
我成功编写了一个代码,以便在选择复选框后选择切片器“ A”的切片器项(例如,当我单击复选框“ RD”时,它在切片器中选择了切片器项“ RD” 'A')
但是,我无法通过dthe复选框选择一个切片器的多个切片器项目
我试图编写代码以一次选择一个切片器项目,并且它正在工作。当我单击“报表”工作表中的复选框时,在工作簿的工作表中选择切片器的项目已被很好地选中
我尝试了此代码
Sub CheckBox105_Click()
Dim sC As SlicerCache
Dim department(0 To 21) As Variant
Set sC = ThisWorkbook.SlicerCaches("Slicer_Department")
Application.EnableEvents = False
For i = 0 To 21
department(i) = sC.SlicerItems(i + 1).Name
Next i
sC.VisibleSlicerItemsList = department
sC.SlicerItems("RR").Selected = True
sC.SlicerItems("FD").Selected = False
sC.SlicerItems("HG").Selected = False
sC.SlicerItems("BP").Selected = False
sC.SlicerItems("HH").Selected = False
sC.SlicerItems("CO").Selected = False
sC.SlicerItems("CO").Selected = False
sC.SlicerItems("YH").Selected = False
sC.SlicerItems("LI").Selected = False
sC.SlicerItems("ED").Selected = False
sC.SlicerItems("FI").Selected = False
sC.SlicerItems("GM").Selected = False
sC.SlicerItems("GU").Selected = False
sC.SlicerItems("HR").Selected = False
sC.SlicerItems("IT").Selected = False
sC.SlicerItems("LE").Selected = False
sC.SlicerItems("OP").Selected = False
sC.SlicerItems("RK").Selected = False
sC.SlicerItems("SRG").Selected = False
sC.SlicerItems("BRM").Selected = False
sC.SlicerItems("DT").Selected = False
sC.SlicerItems("IC").Selected = False
sC.SlicerItems("(blank)").Selected = False
Application.EnableEvents = True
使用此代码,我期望的结果如下: 我选择了checkboxe105,它选择了切片器项目“ RD” 我选择checkoxe106,然后选择切片器项目“ FD”,并保持选择的第一个切片器项目“ RD”
答案 0 :(得分:0)
免责声明:启动VBA,因此请删除此问题,以免引起误解/无法理解问题。
可以将数组/循环与.SlicerItems(索引或名称)一起使用吗?Selected = True。注意,未选中时,需要写一些东西来取消选择切片器项目。
私人子CheckBox7_Click()
With ActiveWorkbook.SlicerCaches("Slicer_Product")
.SlicerItems("Baby Clothes").Selected = True
.SlicerItems("Diamonds").Selected = True
.SlicerItems("Hats").Selected = True
.SlicerItems("Kid Activities").Selected = True
End With
私人子CheckBox4_Click()
With ActiveWorkbook.SlicerCaches("Slicer_Product")
.SlicerItems(1).Selected = True
End With
结束子
私人子CheckBox5_Click()
With ActiveWorkbook.SlicerCaches("Slicer_Product")
.SlicerItems(1).Selected = True
.SlicerItems(2).Selected = True
End With
私人子CheckBox6_Click()
With ActiveWorkbook.SlicerCaches("Slicer_Product")
.SlicerItems(1).Selected = True
.SlicerItems(2).Selected = True
.SlicerItems(3).Selected = True
End With
结束子
'Private Sub CheckBox1_Click() ''选择/取消选择帽子复选框 '如果CheckBox1.Value = True则 呼叫AddHats 'ElseIf CheckBox1.Value = False然后 致电RemoveHats 别的 'MsgBox“帮助” ' 万一 ' “结束子