2012-08-12 58 views
2

我正在處理包含大量表項的Excel工作簿,所有條目均按日期排序。我已經插入了一個滑塊,以便按月查看數據,但現在我想要做的是自動選擇滑塊選項。我可以自動選擇切片機選項嗎?

例如,

我的一個工作表旨在顯示月份摘要,所有總計等均使用基於日期的SUMIF進行計算,以便只彙總當前月份的數據,現在在該工作表上我還想包括一個切片機與所有月份的條目,足夠簡單,但我想當前月份自動選擇,它會混淆人們,如果選擇月度報表後,他們會自動接收大部分信息,但必須選擇其他部分之後的月份的聲明。所以我想要的是一種使切片機默認爲在另一個單元格中設置的值的方式。

回答

1

您可以使用.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

相關問題