OLAP Cube Pivot字段动态隐藏项目

时间:2018-02-15 19:39:05

标签: vba excel-vba compiler-errors pivot-table olap-cube

我的目标是使用VBA动态隐藏数据透视表字段列表中的所有项目,但存储在单独表格中的项目数组除外。问题是它是一个OLAP多维数据集,所以我必须使用Cube字段方法。此外,我只知道隐藏特定项目的方法。我想要做的是隐藏特定项目之外的所有内容。

我正在

  

应用程序定义或对象相关错误

.HiddenItemsList

的行上

我知道我在语法方面已经离开了,但此时却很失落。

Public Sub FilterRd()
Dim arCC As Variant
Dim pfCostCenterCode As PivotField
Dim PF As PivotField
Dim PI As PivotItem

arCC = Worksheets("CCs").ListObjects("tblCCs").DataBodyRange.Value
arCC = Application.Transpose(arCC)

Set pfCostCenterCode = Worksheets("RDA").PivotTables("PTccs").PivotFields("[DCC].[CCC].[CCC]")
a = Filter_PivotField(pfCostCenterCode, arrCC)

End Sub

Private Function Filter_PivotField(pvtField As PivotField, varItemList As Variant)
    Dim i As Long
   ' On Error GoTo ErrorHandler:
    Application.ScreenUpdating = False

    With pvtField
        .ClearAllFilters
        .CubeField.IncludeNewItemsInFilter = True
    End With

    For i = LBound(varItemList) + 1 To UBound(varItemList)
        pvtField.HiddenItemsList = Array("[DCC].[CCC].&" & varItemList(i) & "]")
    Next i

ErrorHandler:
    MsgBox "Error while trying to process item: " & varItemList(i)
End Function

0 个答案:

没有答案