admin 管理员组

文章数量: 1086019


2024年1月23日发(作者:web前端开发软件工程师招聘)

数据透视表常用vba代码

1. 创建数据透视表:

Sub CreatePivotTable()

'指定数据范围

Dim ws As Worksheet

Set ws = Worksheets("Sheet1") '更改为需要的工作表名称

Dim lastRow As Long, lastCol As Long

lastRow = (, 1).End(xlUp).Row

lastCol = (1, ).End(xlToLeft).Column

Dim dataRange As Range

Set dataRange = (Cells(1, 1), Cells(lastRow, lastCol))

'指定数据透视表位置

Dim ptSheet As Worksheet

Set ptSheet = '可以更改为已有工作表名

= "PivotTable"

("A3").Select

'指定要透视的字段

Dim pt As PivotTable

Set pt = ableWizard( _

SourceType:=xlDatabase, _

SourceData:=dataRange, _

TableDestination:=("A3"), _

TableName:="PivotTable", _

RowGrand:=True, _

ColumnGrand:=True, _

SaveData:=True, _

HasAutoFormat:=True, _

AutoPage:=xlAuto, _

Reserved:=True)

'设置透视表字段

With ields("年份") '更改为需要的字段

.Orientation = xlRowField

.Position = 1

End With

With ields("月份") '更改为需要的字段

.Orientation = xlRowField

.Position = 2

End With

With ields("城市") '更改为需要的字段

.Orientation = xlColumnField

.Position = 1

End With

With ields("销售额") '更改为需要的字段

.Orientation = xlDataField

.Function = xlSum

.NumberFormat = "#,##0.00"

End With

End Sub

2. 控制数据透视表:

Sub ControlPivotTable()

'指定数据透视表

Dim ptSheet As Worksheet

Set ptSheet = Worksheets("PivotTable") '更改为需要的工作表名称

Dim pt As PivotTable

Set pt = ables("PivotTable") '更改为数据透视表名称

'选择数据透视表项

Dim ptItem As PivotItem

For Each ptItem In ields("城市").PivotItems

If = "北京" Then '更改为需要的城市名称

e = True

Else

e = False

End If

Next ptItem

'获取数据透视表数据

Dim ptData As Variant

ptData =

'清空数据透视表数据

ontents

'设置数据透视表数据

(UBound(ptData, 1), UBound(ptData,

2)).Value = ptData

'排列数据透视表

hTable

End Sub

3. 更新数据透视表:

Sub UpdatePivotTable()

'指定数据透视表

Dim ptSheet As Worksheet

Set ptSheet = Worksheets("PivotTable") '更改为需要的工作表名称

Dim pt As PivotTable

Set pt = ables("PivotTable") '更改为数据透视表名称

'指定数据范围

Dim ws As Worksheet

Set ws = Worksheets("Sheet1") '更改为需要的工作表名称

Dim lastRow As Long, lastCol As Long

lastRow = (, 1).End(xlUp).Row

lastCol = (1, ).End(xlToLeft).Column

Dim dataRange As Range

Set dataRange = (Cells(1, 1), Cells(lastRow, lastCol))

'更新数据透视表数据

PivotCache ( _

SourceType:=xlDatabase, _

SourceData:=dataRange)

'排列数据透视表

hTable

End Sub

4. 删除数据透视表:

Sub DeletePivotTable()

'指定数据透视表

Dim ptSheet As Worksheet

Set ptSheet = Worksheets("PivotTable") '更改为需要的工作表名称

ables("PivotTable").Delete '更改为数据透视表名称

'删除工作表

yAlerts = False

yAlerts = True

End Sub

以上是一些常用的数据透视表VBA代码。


本文标签: 数据 透视 改为 需要 名称