所以我有了这个记录的数据透视表,并通过vba进行了一些更改。尽管我在将count“ id”作为值添加时遇到了一些问题,但是效果很好。无论如何都可以,但是让我烦恼的是它的外观。笨拙而凌乱。您介意帮我做对吗?
代码片段:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"id!R1C2:R65536C2", Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="temp!R1C1", TableName:= _
"Tabela przestawna5", DefaultVersion:=xlPivotTableVersion10
With ws2
.PivotTables("Tabela przestawna5").AddDataField ws2. _
PivotTables("Tabela przestawna5").PivotFields("id"), _
"Licznik z id", xlCount
With ws2.PivotTables("Tabela przestawna5").PivotFields("id" _
)
.Orientation = xlRowField
.Position = 1
End With
.Columns("A:B").Copy
.Columns("A:B").PasteSpecial Paste:=xlPasteValues
End With
它的作用是:
从“ id”工作表(ws1)中获取一列数据,并制作一个数据透视表,将其放入“ temp”工作表(ws2)中,然后将其复制/粘贴为值(进行过滤并添加一些公式) )。
1.似乎如果不选择数据透视表,就无法对数据透视表进行任何更改-是这样吗?
2.提到添加Count的问题-这就是为什么我最终单独完成了它。
对我来说看起来像是一张纸:/
我是VBA的新手,所以非常感谢您的帮助。
(如果重要,请在excel 2007上工作)
这是您的代码有点重新整理:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:="id!R1C2:R65536C2", _
Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="temp!R1C1", _
TableName:="Tabela przestawna5", _
DefaultVersion:=xlPivotTableVersion10
ws2.PivotTables("Tabela przestawna5").AddDataField _
ws2.PivotTables("Tabela przestawna5").PivotFields("id"), "Licznik z id", xlCount
With ws2.PivotTables("Tabela przestawna5").PivotFields("id")
.Orientation = xlRowField
.Position = 1
End With
ws2.Columns("A:B").Copy
ws2.Columns("A:B").PasteSpecial Paste:=xlPasteValues
但是我真的不明白为什么您的AddDataField计数有问题...您能告诉我们更多吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句