当用vba操作数据透视表时,经常需要操作数据透视表的字段。
一般有以下几种字段的操作:
1.将字段移入报表区域的行标签、列标签、报表筛选、值区域等。
2.将字段移出报表区域中
3.设置值字段的汇总方式、值显示方式等。
所有这些操作都可以通过操作PivotField对象。
接下来分别介绍
一、往数据透视表报表区域中添加字段
代码如下:
Sub QQ1722187970() Dim opt As PivotTable Dim owk As Worksheet Set owk = Excel.ActiveSheet Set opt = owk.PivotTables(1) With opt Set opF = .PivotFields("单位名称") With opF '移动到行区域 .Orientation = xlRowField End With Set opF = .PivotFields("年份") With opF '移动到筛选区域 .Orientation = xlColumnField End With Set opF = .PivotFields("从业人数") With opF '移动到数值区域 .Orientation = xlDataField End With End With End Sub
二、数据透视表报表区域中删除字段
Sub QQ1722187970() Dim opt As PivotTable Dim owk As Worksheet Set owk = Excel.ActiveSheet Set opt = owk.PivotTables(1) Dim opf As PivotField With opt Set opf = .PivotFields("单位名称") With opf .Orientation = xlHidden End With Set opf = .PivotFields("年份") With opf .Orientation = xlHidden End With '如果是数值字段,要修改字段的名称为“求和项:从业人数” Set opf = .PivotFields("求和项:从业人数") With opf .Orientation = xlHidden End With End With End Sub
这里要特别注意的是,如果一个字段拖入到数值区域,那么下次要移除这个字段时,需要制定的字段名称要变成“求和项:从业人数”,或者其它的计算方式+原字段名称,才能移除该字段。
1993 , Excel Visual Basic (VBA), , Visual Basic, Excel. VBA Excel . VBA-, . VBA . ( ) DLL ActiveX ; – . Excel 5.0 9.0 , , 10 Microsoft .