你的位置:
问答吧
-> excel
-> 问题详情
[分享] 让数据透视表中数字字段为默认求和!
应杨兄之邀:
数据透视表中,数据源有空格或文本的数字,数字区域的字段默认为"计数项".
怎么改为求和项呢?
我认为有2个方法,一个是用VBA的方法,用代码解决!另一个是用基本操作的方法!
先说用代码的方法:
Sub 新建透视表()
Dim ws As Worksheet
Dim ptcache As PivotCache
Dim pt As PivotTable
Dim prange As Range
Set ws = Sheet1
For Each pt In Sheet2.PivotTables
pt.TableRange2.Clear
Next pt
Set ptcache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Sheet1.Range("a1").CurrentRegion.Address)
Set pt = ptcache.CreatePivotTable(tabledestination:=Sheet2.Range("a3"), tablename:="透视表1")
pt.ManualUpdate = True
pt.AddFields RowFields:="项目", ColumnFields:="Data"
For Each prange In ws.Range(ws.Cells(1, 2), ws.Cells(1, 256).End(xlToLeft))
With pt.PivotFields(prange.Value)
.Orientation = xlDataField
.Name = " " & prange
.Function = xlSum
End With
Next prange
pt.ManualUpdate = False
pt.ManualUpdate = True
End Sub
LP0Rfj17.rar (8.7 KB)
LP0Rfj17.rar (8.7 KB)
[分享] 让数据透视表中数字字段为默认求和!
下载次数: 369
2007-11-18 15:25
再说用基本操作的方法:
先在数据源工作表中选前2行新建一个数据透视表,并确保第2行全部是数字,这样就可以骗过excel程序,你就得到一个数字字段全部是求和项的数据透视表,再更改透视表的数据源,为你需要添加的区域即可!
[此贴子已经被作者于2007-11-18 15:41:30编辑过]
作者: yanjie
发布时间: 2007-11-18
感谢YANJIE兄分享,当数据量很大时,不错的解决方法,好贴。
作者: BIN_YANG168
发布时间: 2007-11-18
其中基础方法还要将数据源中文本型数值变为数字型,否则即使数据透视表中显示为求和,文本型数值数据也只是显示为0。
[此贴子已经被作者于2007-11-19 23:45:55编辑过]
作者: BIN_YANG168
发布时间: 2007-11-19
如果数据透视表已经生成了,要把数据字段从计数变为求和,假设数据透视表在sheet2工作表中的第1个数据透视表,则代码为:
Sub 透视表计算求和()
Dim pvtfield As PivotField
Sheet2.Activate
For Each pvtfield In Sheet2.PivotTables(1).DataFields
With pvtfield
.Function = xlSum
.Name = Replace(.Name, "计数", "求和")
End With
Next pvtfield
End Sub
示例文件如下:
cUdaErN0.rar (9.23 KB)
cUdaErN0.rar (9.23 KB)
[分享] 让数据透视表中数字字段为默认求和!
下载次数: 184
2007-11-25 17:28
作者: yanjie
发布时间: 2007-11-25
服了,谢谢yanjie,我也刚刚好要用到!
有在home学习了高招!
作者: ab007
发布时间: 2008-03-27
说实话,没看懂。透视表我也用的,不过是简单的功能,很想达到版主附件中简洁明了的效果。版主的链接里是以2007中为基础,可否在2003中演示一下完整过程?
深深谢过~~~
作者: 柔韧
发布时间: 2008-03-28
謝謝大家,問題全部搞定,謝謝!
作者: taigaoxiao
发布时间: 2008-03-29
不错,是一个很好的方法
作者: FENGLI_HAPPY
发布时间: 2008-03-29
真的能学到很多的东西哟
作者: 楚儿
发布时间: 2008-03-29
确实不错.不过,本人还不会VBA的使用.要好好学习才行了.刚换了工作,需要用到这些功能
作者: hxhfly
发布时间: 2008-06-01
厉害啊!!学到东西了!越来越喜欢这里了!谢谢大家!
作者: dongshusong
发布时间: 2008-07-08
[em17]
作者: shzhyu
发布时间: 2008-09-16
偶像
作者: hrp406491212
发布时间: 2008-10-13
学习了,谢谢楼主
作者: iwan2000
发布时间: 2008-10-14
很是不错啊
作者: caokeming
发布时间: 2008-10-29
版主的帖子。就是含金量高啊。
作者: monvzhilei
发布时间: 2009-01-19
学习 正是要解决的问题
作者: kales213
发布时间: 2009-03-03
还有VBA,学习了!
作者: dgxsdr
发布时间: 2009-03-22
数据透视表中,数据源有空格或文本的数字,数字区域的字段默认为"计数项".——原来如此,谢谢了。
也学了dinge_ellen 另一贴的方法,都谢谢了。
作者: affa
发布时间: 2009-04-10
本人还不会VBA的使用.要好好学习才行了
作者: niuyuhe
发布时间: 2009-05-07
如果采用外部数据源做的数据透视表这个问题怎么解决呢?
作者: 开心萝卜惠州
发布时间: 2009-05-07
还不会VBA,有类似问题要解决。
学习。。。。
作者: CSWDF
发布时间: 2009-05-20
谢谢LZ分享,现时水平有限,收藏学习
作者: bibisin
发布时间: 2009-05-29
引用:原帖由 开心萝卜惠州 于 2009-5-7 08:51 发表
如果采用外部数据源做的数据透视表这个问题怎么解决呢?将字段做4则运算
作者: Scarlett_88
发布时间: 2009-06-06
确实是一个很好的方法
作者: fslx
发布时间: 2009-08-19
多谢楼主的分享~~~~~~~~~~~·
作者: bluesorry
发布时间: 2009-08-19
不错又学习到了。。。
作者: maillgh
发布时间: 2009-08-19
mark一下··慢慢看·~·
谢谢分享~~
作者: glumecheung
发布时间: 2009-08-20
我的VB学的不好,可VB功能如些大,我得好好学,请问老师:怎样才能学的又快又好呢?
作者: yangAAA
发布时间: 2009-09-17
试了一下1楼的基本确实很简单,很实用.
作者: jarrcy86
发布时间: 2009-09-17
本文分享了如何在Excel数据透视表中将数字字段默认设置为求和项,提供了两种方法:一是通过VBA代码实现,二是利用Excel的基本操作。在数据量大时,这些方法能有效避免数字字段被错误地设为计数项。
3576

被折叠的 条评论
为什么被折叠?



