
EXCEL VBA 数据透视表 怎么对一个PivotTable对象重新设置数据源
我用VBA新建了一个PivotTable对象然后对数据源进行了一些操作,如果不涉及数据源字段的增加,可以直接用PivotTable.R额freshTable就可以了但是如...
我用VBA新建了一个PivotTable对象
然后对数据源进行了一些操作,如果不涉及数据源字段的增加,可以直接用
PivotTable.R额freshTable就可以了
但是如果数据源在VBA执行的过程中有新的字段列加入
怎么能动态的重新设置数据源的范围呢? 展开
然后对数据源进行了一些操作,如果不涉及数据源字段的增加,可以直接用
PivotTable.R额freshTable就可以了
但是如果数据源在VBA执行的过程中有新的字段列加入
怎么能动态的重新设置数据源的范围呢? 展开
推荐于2017-12-16 · 知道合伙人软件行家

知道合伙人软件行家
采纳数:87
获赞数:277
6年来一直从事OFFICE相关内容制作,熟悉EXCEL,WORD,PPT,VBA等内容,并在线上服务超过2000名不同客户
向TA提问 私信TA
关注

展开全部
事先设定好范围 这个范围的列和行通过参数来判断
Set DataRng = Range("A1:D" & zuidazhi)
Set ptcache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=DataRng)
Sheets.Add
Sheets("Sheet1").Select
Set pt = ptcache.CreatePivotTable(tabledestination:=Sheets("Sheet1").Range("b1"), TableName:="pivottable1")
With ActiveSheet.PivotTables("pivottable1").PivotFields("采样时间")
.Orientation = xlRowField
.Position = 1
End With
Set DataRng = Range("A1:D" & zuidazhi)
Set ptcache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=DataRng)
Sheets.Add
Sheets("Sheet1").Select
Set pt = ptcache.CreatePivotTable(tabledestination:=Sheets("Sheet1").Range("b1"), TableName:="pivottable1")
With ActiveSheet.PivotTables("pivottable1").PivotFields("采样时间")
.Orientation = xlRowField
.Position = 1
End With
追问
你这个代码 可以在每次创建透视表的时候动态设置范围
但是我只想生成一次透视表
怎么对已生成的透视表更改数据源
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询