VBA 自动创建饼图:从第6行获取数据并分类
以下是一个简单的 VBA 代码,它可以自动从第 6 行获取所有数据,并根据类别生成饼图。你需要将代码复制到 Excel VBA 编辑器中并运行它。
Sub CreatePieChart()
Dim dataRange As Range
Dim chartRange As Range
Dim chartTitle As String
Dim chartSheet As Worksheet
Dim chartObj As ChartObject
Dim i As Integer
Set chartSheet = ActiveWorkbook.Sheets("Sheet1") '替换为你的工作表名称
Set dataRange = chartSheet.Range("A6:B" & chartSheet.Cells(Rows.Count, "A").End(xlUp).Row)
chartTitle = "My Pie Chart"
Set chartObj = chartSheet.ChartObjects.Add(0, 0, 400, 300)
chartObj.Chart.SetSourceData dataRange
Set chartRange = chartSheet.Range("C6")
For i = 1 To dataRange.Rows.Count
chartRange.Offset(i - 1, 0).Value = dataRange.Cells(i, 1).Value
chartRange.Offset(i - 1, 1).Value = dataRange.Cells(i, 2).Value
Next i
chartObj.Chart.ChartType = xlPie
chartObj.Chart.SetElement (msoElementChartTitleAboveChart)
chartObj.Chart.ChartTitle.Text = chartTitle
chartObj.Chart.Legend.Position = xlLegendPositionBottom
End Sub
这段代码首先定义了一些变量,包括数据范围、图表范围、图表标题、工作表、图表对象等等。然后,它创建了一个新的图表对象,并设置了数据源和图表类型。接下来,它将类别和数值填充到图表范围中,并设置了一些格式化选项,如标题和图例位置。最后,它显示了生成的图表。你可以根据需要对代码进行调整,以满足你的特定需求。
原文地址: https://www.cveoy.top/t/topic/lKJT 著作权归作者所有。请勿转载和采集!