495·数据透视表向导的宏代码
标签:
数据透视表宏 |
分类: 报表显示问题 |
在《数据透视表应用大全》一书中,介绍了两种生成数据透视表的宏方法。
其中一种就是模拟【数据透视表向导】的PivotTableWizard方法。
由于如今的办公场景,EXCEL与WPS表格正势均力敌,
我们在编写宏代码时,必须考虑两个软件的兼容性问题。
尽管两款软件都可利用【录制宏】产生原始代码。
但EXCEL【录制宏】所产生的原始代码未完成使用PivotTableWizard方法。
而WPS表格【录制宏】的原始代码根本就见不到PivotTableWizard的身影。
因此要想正确使用PivotTableWizard方法,还真得认真了解一下它的语法。
当我们在VBE编辑器里录入”PivotTableWizard(“的时候,它后面出现一大串提示。
那是此【方法】的16个【参数】。
SourceType参数一般设置为xlDatabase,意思是使用工作表单元格区域作为数据源。
SourceData参数指定数据透视表的数据源。
TableDestination参数,指定数据透视表的起始位置。
TableName参数,为数据透视表命名。
RowGrand和ColumnGrand参数是个逻辑值,确认是否显示行或列总计。
SaveData参数也是逻辑值,确定是否保存数据透视表的缓存数据。
HasAutoFormat参数,确定是否自动调整数据透视表格式。
这八个常用参数,后4个默认值都是True。
如果没有特别要求,后5个参数都可以省略。
也就是说,常见的数据透视表,前三个参数就可以搞定了。
第二个和第三个参数比较灵活,
即可以是一个Range对象,一个数据区域的名称,也可以是指定数据区域的文本字符串。
如果A1:E101区域定义名称为kk,
并且它是一个名称为“表1”的Listobject【表格】,
那么以下写法应该都是正确的。
SourceData:=Range("A1:E101")
SourceData:="A1:E101"
SourceData:="R1C1:R101C5"
SourceData:=”kk”
SourceData:=”表1”
SourceData:=Listobjects(1)
不过,如果想让代码在EXCEL和WPS表格里都能运行,就只能使用以下三种写法。
SourceData:=Range("A1:E101")
SourceData:="R1C1:R101C5"
SourceData:=”kk”
WPS细节方面还需仔细打磨。
"R1C1:R101C5"可以,"A1:E101"却不可以,让人难以理解。
对于【表格】的支持也不够完善。

加载中…