Vba 使用单元格引用筛选PowerPivot表

Vba 使用单元格引用筛选PowerPivot表,vba,excel,filter,powerpivot,Vba,Excel,Filter,Powerpivot,因此,我试图从中获得使用我的数据的指示,但徒劳无功。我一直收到运行时错误1004。我的目标是在与透视表相同的工作表的单元格I1中输入一个公司名称,然后让透视表根据该条目进行筛选。以下是我的代码: Sub filtercompany() ' Filtercompany Dim FilterValue As String FilterValue = ActiveSheet.Range("I1").Value 'get value for filter ActiveS

因此,我试图从中获得使用我的数据的指示,但徒劳无功。我一直收到运行时错误1004。我的目标是在与透视表相同的工作表的单元格I1中输入一个公司名称,然后让透视表根据该条目进行筛选。以下是我的代码:

Sub filtercompany()
    ' Filtercompany
    Dim FilterValue As String
    FilterValue = ActiveSheet.Range("I1").Value 'get value for filter

    ActiveSheet.PivotTables("PivotTable1") _
        .PivotFields("[Company].[Name].[Name]").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("[Company].[Name].[Name]") _
        .CurrentPageName = "[Company].[Name].&[" & FilterValue & "]"
End Sub

查看我的字符串。当我给我一个项目编号时,它工作得很好

Dim i As Variant

i = 216722

ActiveSheet.PivotTables("PiLEverantör").PivotFields( _
    "[Tabell2].[Kolumn1].[Kolumn1]").VisibleItemsList = Array( _
    "[Tabell2].[Kolumn1].&[" & i & "]")
End Sub

您是否尝试过对在
CurrentPageName
上传递的字符串进行硬编码以查看其是否有效?因此,没有。以下内容不适用于名为AAA的公司。Sub-filtercompany()'filtercompany ActiveSheet.PivotTables(“PivotTable1”)u.PivotFields(“[Company].[Name].[Name]”)。ClearAllFilters ActiveSheet.PivotTables(“PivotTable1”).PivotFields(“[Company].[Name].[Name]”和[AAA]”End Sub是否有实际的方法使用任何类型的VBA来完成此操作?我试着录制一个宏,但也不起作用。是我还是powerpivot?或者两者都有?你真的有那个数据透视字段的名字吗?我的意思是,这个字符串不是标准格式。您应该使用在PowerPivot中获得的实际数据透视字段名。是的,这些是PowerPivot数据模型中字段和表的名称。我可以在常规透视表中实现这一点,但PowerPivot让我心痛……我可以使用Pierre上面描述的方法实现PowerPivot,但只有在选中透视表中的“选择多个项目”之后。