vba excel合并sheet并实现数据透视表
时间: 2023-12-16 18:03:12 浏览: 148
vba excel 表格 合并
可以通过以下步骤实现VBA Excel合并sheet并实现数据透视表:
1. 开启一个新的Excel工作簿,按“Alt + F11”打开VBA编辑器;
2. 在VBA编辑器中,在“项目资源管理器”中右键单击“这个工作簿”,选择“插入” -> “模块”,然后在新建的模块中输入以下代码:
```
Sub MergeSheetsAndPivotTable()
Dim ws As Worksheet, wsMaster As Worksheet
Dim pt As PivotTable
Dim pc As PivotCache
'创建主工作表
Set wsMaster = ThisWorkbook.Sheets.Add
wsMaster.Name = "Master"
For Each ws In ThisWorkbook.Worksheets
'跳过主工作表和空工作表
If ws.Name <> wsMaster.Name And Application.WorksheetFunction.CountA(ws.Cells) <> 0 Then
'将当前工作表数据复制到主工作表
ws.UsedRange.Copy wsMaster.Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
Next ws
'创建数据透视表
Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, wsMaster.Range("A1").CurrentRegion)
Set pt = pc.CreatePivotTable(wsMaster.Cells(2, 10), "PivotTable1")
'添加行字段
With pt.PivotFields("行字段")
.Orientation = xlRowField
.Position = 1
End With
'添加列字段
With pt.PivotFields("列字段")
.Orientation = xlColumnField
.Position = 1
End With
'添加数据字段
With pt.PivotFields("数据字段")
.Orientation = xlDataField
.Position = 1
.Function = xlSum
.NumberFormat = "#,##0.00"
End With
End Sub
```
3. 将代码中的“行字段”、“列字段”和“数据字段”替换为实际的字段名称,修改数据字段的汇总方式和数字格式;
4. 执行代码,会创建一个名为“Master”的新工作表,并将所有非空工作表中的数据复制到此工作表中,最后在新工作表中创建一个数据透视表。
阅读全文