点击Excel每日一学,关注星标★不迷路
标签: #VBA生成图表

示例代码:
Sub CreateSalesLineChart()' 一键生成销售额折线图' 作者: Excel 每日一学' 日期: 2026年1月Dim ws As WorksheetDim chartObj As chartObjectDim dataRange As RangeDim lastRow As Long' 设置要操作的工作表(默认为活动工作表)Set ws = ActiveSheet' 查找数据区域的最后一行lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row' 确保有足够的数据If lastRow < 2 ThenMsgBox "未找到有效数据!请确保A列为时间/月份,B列为销售额。", vbExclamationExit SubEnd If' 定义数据范围(假设数据从A1开始)Set dataRange = ws.Range("A1:B" & lastRow)' 创建图表对象Set chartObj = ws.ChartObjects.Add(Left:=200, Width:=550, Top:=50, Height:=350)' 设置图表类型为折线图chartObj.Chart.ChartType = xlLineMarkers' 设置图表数据源chartObj.Chart.SetSourceData Source:=dataRange' 设置图表标题chartObj.Chart.HasTitle = TruechartObj.Chart.chartTitle.Text = "销售额随时间变化趋势"' 设置X轴标题chartObj.Chart.Axes(xlCategory).HasTitle = TruechartObj.Chart.Axes(xlCategory).AxisTitle.Text = "时间/月份"' 设置Y轴标题chartObj.Chart.Axes(xlValue).HasTitle = TruechartObj.Chart.Axes(xlValue).AxisTitle.Text = "销售额(万元)"' 设置数据标记样式chartObj.Chart.SeriesCollection(1).MarkerStyle = xlMarkerStyleCirclechartObj.Chart.SeriesCollection(1).MarkerSize = 8chartObj.Chart.SeriesCollection(1).Format.Line.Weight = 2.5' 添加数据标签(可选)' chartObj.Chart.SeriesCollection(1).HasDataLabels = True' 设置图表样式chartObj.Chart.ChartStyle = 201' 调整图例位置chartObj.Chart.HasLegend = TruechartObj.Chart.Legend.Position = xlLegendPositionBottom' 显示成功消息MsgBox "销售额折线图已成功生成!" & vbCrLf & _"数据范围: A1:B" & lastRow, vbInformation' 清理对象Set dataRange = NothingSet chartObj = NothingSet ws = NothingEnd Sub

' ================================================' 使用说明:' 1. 在Excel中按Alt+F11打开VBA编辑器' 2. 插入新模块,将本代码粘贴到模块中' 3. 确保数据格式:A列为时间/月份,B列为销售额' 4. 返回Excel,按Alt+F8,选择CreateSalesLineChart运行' ================================================
由于公众号平台更改了推送规则,为确保您能及时收到Excel每日一学的原创分享,请记得关注公众号并设为星标⭐,同时欢迎转发
、点赞
或在看
。也欢迎扫描下方二维码加我个人微信相互学习交流

获取示例文件方式:
关注本公众号 ,后台回复关键字【一键生成折线图】即可获取
长按上面红色的文本,复制到后台发送即可。