Excel 写入VBA以过滤OLAP数据透视表字段
我是VBA新手。我有一个excel文件,其中包含由OLAP多维数据集创建的数据透视表。 我尝试创建一个变量来过滤透视表中的特定列 我使用了Record宏,这是我得到的:Excel 写入VBA以过滤OLAP数据透视表字段,excel,vba,pivot-table,olap-cube,Excel,Vba,Pivot Table,Olap Cube,我是VBA新手。我有一个excel文件,其中包含由OLAP多维数据集创建的数据透视表。 我尝试创建一个变量来过滤透视表中的特定列 我使用了Record宏,这是我得到的: Sub Macro1() ActiveSheet.PivotTables("PivotTable1").PivotFields( _ "[Item].[ItemByProducer].[ProducerName]").VisibleItemsList = Arra
Sub Macro1()
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Item].[ItemByProducer].[ProducerName]").VisibleItemsList = Array( _
"[Item].[ItemByProducer].[ProducerName].&[the name of the producer]")
End Sub
宏对于特定的生产者很好地工作,但是我想创建一个字符串类型的变量,在这个变量中我也可以被其他生产者过滤
如何实现这一点?将变量放入数组-
producers=array(“ProducerA”、“ProducerB”、“ProducerC”)
然后用下面的代码对它们进行循环。只需确保将“NameOfWorksheet”
的名称更改为您正在使用的工作表即可<代码>活动表不是一个好主意-:
将变量放入数组-
producers=array(“ProducerA”、“ProducerB”、“ProducerC”)
然后用下面的代码对它们进行循环。只需确保将“NameOfWorksheet”
的名称更改为您正在使用的工作表即可<代码>活动表不是一个好主意-:
您可以将字符串与
&
:“[Item].[ItemByProducer].[ProducerName].&[”&yourvariable&“]”连接起来。
。实际上,这似乎完成了Sub Macro1()活动表。数据透视表(“数据透视表1”)。数据透视字段(“[Item].[ItemByProducerName]”)。VisibleItemsList=Array(“[Item])。[ItemByProducer].[ProducerName].&[“&stringvariable&“]”End Sub您可以将字符串与&
:“[Item].[ItemByProducerName].&[“&yourvariable&“]”连接起来。
。实际上,这似乎完成了Sub Macro1()ActiveSheet.PivotTables(“PivotTable1”).数据透视字段([Item].[ItemByProducerName]。)。[ProducerName]”。VisibleItemsList=数组(“[Item].[ItemByProducerName].&stringvariable&“])结束子
Sub TestMe()
Dim producers As Variant
producers = Array("ProducerA", "ProducerB", "ProducerC")
Dim producer As Variant
For Each producer In producers
ThisWorkbook.Worksheets("NameOfWorksheet").PivotTables("PivotTable1").PivotFields( _
"[Item].[ItemByProducer].[ProducerName]").VisibleItemsList = Array( _
"[Item].[ItemByProducer].[ProducerName].&[" & producer & "]")
Next
End Sub