如何用Excel中的VBA来做数据透视表

如何用Excel中的VBA来做数据透视表,第1张

打开要统计的数据表格

选中数据表格中任意一个有数据的单元格,把软件的注意力引过来

→插入→数据透视表→确定(软件会默认框选整个表格的数据,默认数据透视表在新的工作表中显示)

序号列是文本格式,且不重复,可以用来计数(有多少个序号,就有多少行数据),现在统计下字段1中各种数值出现的情况:

用鼠标将“序号”拖拽至右下角计数框中

→将“字段1”拖拽至“行标签”中

→结果显示:字段1取值有3、5、6、7四种情况,出现频次分别为9、4、6、11,共30个取值:

再来看看字段2与字段1取值情况:

将字段2拖拽至“列标签”,结果显示:字段2取值仅1、2两种情况,且字段1取值为3时,字段2有7个数据取值为2,2个取值为1;字段1取值为5时,字段2只有取值为2一种情况,共4个……:

返回数据表,更新部分数据,字段2部分取值改为3,

回到透视表,发现统计结果没有变化,这是不能用的。如何更新?

鼠标右击统计结果表格→刷新 结果变化

建立数据透视表用下面的语句就可以了:

    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _

        "Sheet1!R1C1:R4C3").CreatePivotTable TableDestination:="", TableName:= _

        "数据透视表1", DefaultVersion:=xlPivotTableVersion10

你的代码的问题:你先插入了空白表,然后制定数据范围为ActiveSheet.UsedRange,因为这个时候活动表是新插入的,使用空间为空,所以会报错。

首先,选中原始数据区域,点击【插入】-【数据透视表】。

如果刚才已经选中了数据区域,在【数据透视表向导】中最上面的选择区域框可以看到选中的单元格区域,如果刚才没有选中,也可以在此选取。

数据透视表提供了在新工作表创建和在当前工作表创建的选择,如果数据透视表较大,内容很多,建议在新工作表中生成透视表。

根据实际情况选择完上述两个设置后,点击【确定】按钮。

这时,在excel中就出现了一个新工作表。左面是空白的透视表区域,右边是数据透视表字段列表,可以拖动和设置。

数据透视表列表字段处显示的字段名称是原始数据区域的抬头,可以拖动到下面的四个框中。

把【姓名】字段拖到行标签位置,【数量】拖动到【数值】位置。这时,可以看到左方的数据透视表已经按照不同的人名将数量进行了汇总。

行标签处可以插入多个,但是前后顺序要根据自己的需求来选择。比如说,我们要按人员和名称分别看汇总数,可以将【名称】字段拖到【姓名】字段下面,结果如下图所示:

选中数据透视表上任何一个单元格,菜单栏上将激活【选项】和【设计】两个选项卡,可以对报表布局、样式等进行更多设置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11948524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存