作者:乔山办公网日期:
返回目录:excel表格制作
粘贴一段以前写的代码
供参考
Dim DataRng As Range '定义一个数据范围,用来储存生成数据透视表636f70797a686964616f362的数据
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
事先设定好范百围 这个范围度的列和行通过内参数来判断
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
首先,选中原始数据区域,点击【插入】-【数据透视表】。
如果刚才已经选中了数据zd区域,在【数据透视表向导】中最上面的选择区域框可以看到选中的单元格区域,如果刚才没有选中,也可以在此选取。
数据透视表提供了在新工作内表创建和在当前工作表创建的选择,如果数据透视表较大,内容很多,建议在新工作表中生成透视表。
根据实际情况选择完上述两个设置后,点击【确定】按钮。
这时,在excel中就出现了一个新工作表。左面是空白的透视表区域,右边是数据透视表字段列表,可以拖动和设置。
数据透视表列表字段处显示的字段名称是原始数据区域的抬头,可以拖动到下面的四个框中。
把【姓名】字段拖到行标签位置,【数量】拖动到【数值】位置。这时,可以看到左方的数据透视表已经按照不同的容人名将数量进行了汇总。
行标签处可以插入多个,但是前后顺序要根据自己的需求来选择。比如说,我们要按人员和名称分别看汇总数,可以将【名称】字段拖到【姓名】字段下面,结果如下图所示:
选中数据透视表上任何一个单元格,菜单栏上将激活【选项】和【设计】两个选项卡,可以对报表布局、样式等进行更多设置。