如何用VBA批量生成图表和批量删除图表

1,数据形式如下,要做成的效果也如下:

    需求:将每个人的成绩单独生成一张柱状图。

Sub 批量生成图表()
Dim mydatesourse As Range 
For i = 2 To 5
    Set mydatesoure = Sheets("学生成绩表").Range("a" & i & ":d" & i)
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=mydatesoure, PlotBy:=xlColumns
    ActiveChart.Location where:=xlLocationAsObject, Name:=Sheets("学生成绩表").Name
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = Sheets("学生成绩表").Range("a" & i) & "同学的成绩单"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "成绩"
        .SetElement (msoElementLegendTop)
        .SeriesCollection(1).Name = "=学生成绩表!$B$1"
        .SeriesCollection(2).Name = "=学生成绩表!$C$1"
        .SeriesCollection(3).Name = "=学生成绩表!$D$1"
    End With
    ActiveChart.ChartArea.Select
Next
End Sub

2,如何批量全部删除图表,代码如下:
Sub 批量删除图表()
ActiveSheet.ChartObjects.Delete
End Sub

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Excel批量生成图表VBA步骤如下: 1. 首先,在Excel工作簿中打开Visual Basic for Applications(VBA)编辑器。可以通过按下“Alt + F11”快捷键来打开。 2. 在VBA编辑器中,选择“插入”->“模块”选项,以创建一个新的VBA模块。 3. 在新模块中编写VBA代码来生成图表。首先,确定要生成图表的数据范围,并使用`Range`对象将其定义为变量。例如,`Dim dataRange As Range: Set dataRange = Range("A1:B10")`。 4. 创建一个图表对象并将其定义为变量。可以使用`ActiveSheet.ChartObjects.Add`方法来添加新图表对象。例如,`Dim chartObj As ChartObject: Set chartObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=400, Top:=100, Height:=300)`。 5. 将图表对象与数据范围关联起来。使用`chartObj.Chart.SetSourceData`方法将数据范围指定为图表的源数据。例如,`chartObj.Chart.SetSourceData Source:=dataRange`。 6. 根据需要,可以设置图表的类型、样式和其他属性。可以使用`chartObj.Chart.ChartType`和`chartObj.Chart.Legend`等属性来设置图表类型和图例样式。 7. 最后,使用`chartObj.Activate`方法激活图表,并将其显示在Excel工作表中。 8. 完成VBA代码编写后,可以点击VBA编辑器中的“运行”按钮或按下“F5”键来执行代码。 通过以上步骤,在Excel中使用VBA可以批量生成图表。可以对代码进行适当的修改和调整,以满足特定图表生成的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值