0
我一直在使用Excel和VBA,並且試圖找出如何從切片器中取消選擇各個字段並僅選擇少量字段。 我嘗試讀取切片器Cache,然後遍歷切片器中的各種項目。我能夠讀取切片機內物品的值,但我無法取消選擇它們。它不斷拋出錯誤代碼爲1004的「應用程序定義或對象定義的錯誤」。無法將VBA切片器選定的屬性值設置爲False
我在分享我遇到困難的代碼段。
Sub SelectFiscalWeeks()
Dim slcCache As SlicerCache
Dim slcItem As SlicerItem
FalseVar = False
Application.StatusBar = "Filtering out last 13 Week's Data"
Set slcCache = ThisWorkbook.SlicerCaches("Slicer_Date.Fiscal_Week")
slcCache.ClearManualFilter
For Index = 1 To slcCache.SlicerCacheLevels.Count
Worksheets("A").Cells(Index + 1, "N").Value = Index
j = 0
For Each slcItem In slcCache.SlicerCacheLevels(Index).SlicerItems
Worksheets("A").Cells(j + 1, "P").Value = slcItem.Name
j = j + 1
slcItem.Selected = FalseVar
Next
Next
'Set slcCache.VisibleSlicerItems = Array("[DT].[FW].&[201701]")
Set slcCache = Nothing
Application.StatusBar = False
End Sub
在上面的代碼,我能夠通過使用slcItem.Name閱讀切片項目名稱,但我無法既可以執行下面的語句:
slcItem.Selected = FalseVar
Set slcCache.VisibleSlicerItems = Array("[DT].[FW].&[201701]")
執行這些語句拋出了錯誤「應用程序定義或對象定義的錯誤」與錯誤代碼1004.
我一直在嘗試調試超過一個小時,但無法找出原因。這可能是一些基本的東西,但是你能幫我確定我的代碼可能有什麼問題嗎?