写一段Excel中分析数据的VBA代码,生成透析图
时间: 2024-05-01 13:20:37 浏览: 158
以下是一个简单的 Excel VBA 代码示例,用于生成透视图:
```
Sub GeneratePivotChart()
'定义变量
Dim PivotSheet As Worksheet
Dim DataSheet As Worksheet
Dim PivotTable As PivotTable
Dim PivotCache As PivotCache
Dim PivotChart As PivotChart
'指定工作表
Set DataSheet = ThisWorkbook.Worksheets("Data")
Set PivotSheet = ThisWorkbook.Worksheets("Pivot")
'设置透视表缓存
Set PivotCache = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=DataSheet.Range("A1:B10"))
'创建透视表
Set PivotTable = PivotSheet.PivotTables.Add(PivotCache:=PivotCache, TableDestination:=PivotSheet.Range("A3"), TableName:="PivotTable1")
'设置行和列字段
With PivotTable
.PivotFields("Name").Orientation = xlRowField
.PivotFields("Category").Orientation = xlColumnField
.AddDataField .PivotFields("Value"), "Sum of Value", xlSum
End With
'创建透视图
Set PivotChart = PivotSheet.Shapes.AddChart2(297, xlBarClustered).Chart
'设置透视图数据源
With PivotChart
.SetSourceData Source:=PivotTable.TableRange1
.HasTitle = True
.ChartTitle.Text = "Pivot Chart"
End With
End Sub
```
这段代码假设有一个名为“Data”的工作表,其中包含以下数据:
| Name | Category | Value |
|-------|----------|-------|
| John | A | 10 |
| Jane | B | 20 |
| Jack | A | 30 |
| Jill | B | 40 |
| James | A | 50 |
| Joan | B | 60 |
| John | A | 70 |
| Jane | B | 80 |
| Jack | A | 90 |
| Jill | B | 100 |
代码将生成一个名为“Pivot”的工作表,其中包含一个透视表和一个透视图。 透视表将以“Name”列作为行字段,“Category”列作为列字段,并以“Value”列的总和作为数据字段。透视图将显示透视表的数据,其中每个类别将显示为一个组合的条形图。
阅读全文