Creat A EXCEL CHART WITH VBA

本文介绍如何使用Excel VBA快速创建柱状图,并详细解释了VBA代码的每一步操作,包括设置图表类型、数据源及图表各项属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Excel VBA之生成图表


1
 
准备图表数据源


1
2
3
4
5
6
AAA
843
835
435
188
296
721
BBB
542
460
277
713
51
340
CCC
513
693
801
505
418
871
DDD
492
48
302
284
266
350

2   通过VBA作一张柱形图




Sub 图表作成()

Dim myData As String, sh As String

'
定义变量myData, sh为字符型


myData = Selection.Address

'
设置变量myData为当前选取的单元格区域


sh = ActiveSheet.Name

'
设置变量sh为当前工作表的名称






Charts.Add

'
添加图表


ActiveChart.ChartType = xlColumnClustered

'
图表类型为柱形图


ActiveChart.SetSourceData Source:=Sheets(sh).Range(myData), PlotBy:=xlColumns

'
设置图表数据源为myData(当前选取的单元格区域),数据系列为数据源中的列。


ActiveChart.Location Where:=xlLocationAsObject, Name:=sh

'
设置图表的位置是当前工作表
sh



With ActiveChart

'
设置图表的各项参数


.HasTitle = True

'
有图表标题


.ChartTitle.Characters.Text = "Snood
图表标题
"

'
图表标题的文字


.Axes(xlCategory, xlPrimary).HasTitle = True

'
有主要横坐标标题


.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "
主要横坐标
"

'
设置主要横坐标标题的文字


.Axes(xlValue, xlPrimary).HasTitle = True

'
有主要纵坐标标题


.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "
主要纵坐标
"

'
设置主要纵坐标标题的文字


End With

'
结束设置图表的参数




ActiveChart.ChartArea.Select

'
选取当前图表的绘图区


End Sub
========================================================
Sub 图表导出为图片
()

ActiveChart.Export ThisWorkbook.Path & "/" & Format(Now(), "yymmddhhmm") & ".gif", "gif"

End Sub




ActiveChart.Export指导出当前活动图表


ThisWorkbook.Path指当前工作簿的路径


Format(Now(), "yymmddhhmm")指格式为“年年月月日日时时分分”的当前时间,以此命名图片文件,一般不会有重复。


"gif"图片格式,后缀名,文件比较小。


===========================================================
Sub 指定数据系列()
'编制一个循环分别为每个系列(点)指定数据区域(X,Y坐标)
For i = 1 To ActiveChart.SeriesCollection.Count
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).Delete
'一个循环,删除当前图表中的全部数据系列
Next
For i = 2 To 7
'循环
ActiveChart.SeriesCollection.NewSeries
'增加新的数据系列
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).XValues = "=Sheet1!R" & i & "C1"
'(XY散点图)设置数据系列的X值引用单元格
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).Values = "=Sheet1!R" & i & "C2"
'设置数据系列的Y值引用单元格
Next
End Sub

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值