我可以自动选择切片机选项吗?

问题描述:

我正在处理包含大量表项的Excel工作簿,所有条目均按日期排序。我已经插入了一个滑块,以便按月查看数据,但现在我想要做的是自动选择滑块选项。我可以自动选择切片机选项吗?

例如,

我的一个工作表旨在显示月份摘要,所有总计等均使用基于日期的SUMIF进行计算,以便只汇总当前月份的数据,现在在该工作表上我还想包括一个切片机与所有月份的条目,足够简单,但我想当前月份自动选择,它会混淆人们,如果选择月度报表后,他们会自动接收大部分信息,但必须选择其他部分之后的月份的声明。所以我想要的是一种使切片机默认为在另一个单元格中设置的值的方式。

您可以使用.Sliceritems(iIndex).selected来定义所选内容。

假设你的标签是日期,这是设置选项

Sub Macro1() 

Dim lIndex As Long 
Dim lLoop As Long 

    With ActiveWorkbook.SlicerCaches("Slicer_NumEntered") 
    lIndex = .SlicerItems.Count 
     For lLoop = 1 To lIndex 
      If CDate(.SlicerItems(lLoop).Name) < CDate("5/1/2012") Then 
       .SlicerItems(lLoop).Selected = True 
      Else 
       .SlicerItems(lLoop).Selected = False 
      End If 
     Next 
    End With 
End Sub 

这可以改进的一种方式 - 日期测试是可怕的,而且可以大大提高。 另外,如果你能得到的测试简单地返回true/false,那么你可以删除if/then/else,并把

.SlicerItems(lLoop).Selected = YourTest 

代替

+0

反正这样做没有宏? – SpeedCrazy 2012-08-15 01:08:12

+0

据我所知,没有 – SeanC 2012-08-15 13:08:45