如何在 vba 中创建条形图(带有示例)
您可以使用以下基本语法在 Excel 中使用 VBA 创建条形图:
SubCreateBarChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create bar chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlColumnClustered
End Sub
这个特定的宏将提示用户输入输入范围,然后使用输入范围自动生成条形图,并将其插入到名为Sheet1的工作表中,图表的左上角位于当前活动的单元格中。
以下示例展示了如何在实践中使用该宏。
示例:如何在 VBA 中创建条形图
假设我们在 Excel 中有以下数据集,其中包含有关各个篮球运动员得分的信息:
假设我们想要使用 VBA 使用此数据集生成条形图。
我们可以创建以下宏来执行此操作:
SubCreateBarChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create bar chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlColumnClustered
End Sub
要运行此宏,我们可以单击 Excel 顶部功能区的“开发人员”选项卡,然后单击“宏” 。
然后我们可以单击标记为CreateBarChart的图表,然后单击Run :
单击“运行”后,系统将提示我们输入条形图的输入范围:
我们将输入A1:B7 ,然后按OK 。
将自动创建并显示以下条形图,图表的左上角位于当前活动单元格(恰好是单元格D1 )中:
注意:您可以更改ChartObjects.Add()函数中的Width和Height参数的值来分别调整条形图的宽度和高度。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: