点击Excel每日一学,关注星标★不迷路
标签:#用VBA一键生成图表#EXCEL 图表 #
今天起,将开启一个系列分享,介绍如何用VBA代码一键生成图表,共计划推出10期内容。 第一期主题为:Excel VBA一键生成基础条形图(销售对比)。

Sub GenerateSalesChart()' 声明变量Dim ws As WorksheetDim chartObj As ChartObjectDim dataRange As RangeDim chartRange As Range' 设置工作表对象Set ws = ThisWorkbook.Worksheets("销售数据")' 定义数据范围 (A1:E6)Set dataRange = ws.Range("A1:E6")' 定义图表数据范围 (不包括标题行)Set chartRange = ws.Range("A2:E6")' 创建图表对象Set chartObj = ws.ChartObjects.Add(Left:=300, Width:=500, Top:=50, Height:=300)' 设置图表类型为条形图chartObj.Chart.ChartType = xlBarClustered' 设置图表数据源chartObj.Chart.SetSourceData Source:=chartRange' 设置图表标题chartObj.Chart.HasTitle = TruechartObj.Chart.ChartTitle.Text = "2023年销售员季度销售对比"' 设置坐标轴标题chartObj.Chart.Axes(xlCategory).HasTitle = TruechartObj.Chart.Axes(xlCategory).AxisTitle.Text = "销售员"chartObj.Chart.Axes(xlValue).HasTitle = TruechartObj.Chart.Axes(xlValue).AxisTitle.Text = "销售额(万元)"' 设置图例位置chartObj.Chart.HasLegend = TruechartObj.Chart.Legend.Position = xlLegendPositionBottom' 设置数据标签chartObj.Chart.ApplyDataLabelschartObj.Chart.SeriesCollection(1).DataLabels.NumberFormat = "0.0"' 调整条形图颜色chartObj.Chart.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(65, 105, 225) ' 蓝色chartObj.Chart.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(60, 179, 113) ' 绿色chartObj.Chart.SeriesCollection(3).Format.Fill.ForeColor.RGB = RGB(255, 140, 0) ' 橙色chartObj.Chart.SeriesCollection(4).Format.Fill.ForeColor.RGB = RGB(220, 20, 60) ' 红色' 美化图表chartObj.Chart.ChartArea.Format.Fill.ForeColor.RGB = RGB(240, 240, 240)chartObj.Chart.PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)' 输出成功信息MsgBox "销售对比条形图生成成功!", vbInformation, "VBA图表生成"End Sub

获取未例文件方式:
关注本公众号 ,后台回复关键字【一键生成基础条形图】即可获取
长按上面红色的文本,复制到后台发送即可。
由于公众号平台更改了推送规则,为确保您能及时收到Excel每日一学的原创分享,请记得关注公众号并设为星标⭐,同时欢迎转发
、点赞
或在看
。也欢迎扫描下方二维码加我个人微信相互学习交流,定做插件,定做VBA数据整理分析
