excel 使用VB创建数据透视表(pivottable)问题
excel2010,随便录制一个创建pivottable的宏,结果执行的时候显示”Invalidprocedurecallorargument”。请问如何使用VB语言正确...
excel2010,随便录制一个创建pivottable的宏,结果执行的时候显示” Invalid procedure call or argument ”。
请问如何使用VB语言正确创建及设置数据透视表?为什么录制的宏无法执行?
谢谢1L,将Range("A1:D" & zuidazhi)设置好,此段程序是可以使用的。
我遇到两个问题,一是我将sheet name 设为了"Job#"; "#" 这个符号产生了不应有的作用;二是我录制的宏里面含有defaultVersion _ :=xlPivotTableVersion14 这段代码。我试着将这段代码加到你给的程序里,依然报错。请问 defultversion 设置有什么讲究么? 展开
请问如何使用VB语言正确创建及设置数据透视表?为什么录制的宏无法执行?
谢谢1L,将Range("A1:D" & zuidazhi)设置好,此段程序是可以使用的。
我遇到两个问题,一是我将sheet name 设为了"Job#"; "#" 这个符号产生了不应有的作用;二是我录制的宏里面含有defaultVersion _ :=xlPivotTableVersion14 这段代码。我试着将这段代码加到你给的程序里,依然报错。请问 defultversion 设置有什么讲究么? 展开
1个回答
展开全部
粘贴一段以前写的代码
供参考
Dim DataRng As Range '定义一个数据范围,用来储存生成数据透视表的数据
Dim MyPivot As Worksheet '定义一个工作表,存放数据透视表"
Dim pt As PivotTable '定义一个数据透视表,用来储存数据透视表对象”
Dim MyTable As Worksheet '定义一个工作表,做为汇总表
Dim ptcache As PivotCache
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
With ActiveSheet.PivotTables("pivottable1").PivotFields("样品名称")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("pivottable1").PivotFields("分项")
.Orientation = xlRowField
.Position = 3
End With
ActiveSheet.PivotTables("pivottable1").AddDataField ActiveSheet.PivotTables("pivottable1" _
).PivotFields("值"), "计数项:值", xlCount
With ActiveSheet.PivotTables("pivottable1").PivotFields("计数项:值")
.Caption = "平均值项:值"
.Function = xlAverage
End With
供参考
Dim DataRng As Range '定义一个数据范围,用来储存生成数据透视表的数据
Dim MyPivot As Worksheet '定义一个工作表,存放数据透视表"
Dim pt As PivotTable '定义一个数据透视表,用来储存数据透视表对象”
Dim MyTable As Worksheet '定义一个工作表,做为汇总表
Dim ptcache As PivotCache
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
With ActiveSheet.PivotTables("pivottable1").PivotFields("样品名称")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("pivottable1").PivotFields("分项")
.Orientation = xlRowField
.Position = 3
End With
ActiveSheet.PivotTables("pivottable1").AddDataField ActiveSheet.PivotTables("pivottable1" _
).PivotFields("值"), "计数项:值", xlCount
With ActiveSheet.PivotTables("pivottable1").PivotFields("计数项:值")
.Caption = "平均值项:值"
.Function = xlAverage
End With
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询