如何在 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 )中:

VBA 条形图

注意:您可以更改ChartObjects.Add()函数中的WidthHeight参数的值来分别调整条形图的宽度和高度。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何查找最后使用的行
VBA:如何计算范围内的行数
VBA:如何计算使用的列数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注