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

示例代码:
Option ExplicitSub CreateRadarChart()' 创建能力评估雷达图' 作者: Excel每日一学' 日期: 2026年1月Dim ws As WorksheetDim chartObj As ChartObjectDim dataRange As RangeDim chart As chartDim lastRow As Long, lastCol As LongDim i As Integer' 设置错误处理On Error GoTo ErrorHandler' 获取活动工作表Set ws = ActiveSheet' 查找数据范围lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).RowlastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column' 检查是否有足够的数据If lastRow < 2 Or lastCol < 2 ThenMsgBox "数据不足,请确保第一行是标题,第一列是能力维度,第二列是评分。", vbExclamationExit SubEnd If' 选择数据范围 (假设第一列是维度,第二列是评分)Set dataRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, 2))' 创建雷达图Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=400, Top:=50, Height:=300)Set chart = chartObj.chartWith chart' 设置图表类型为雷达图.ChartType = xlRadarMarked' 设置数据源.SetSourceData Source:=dataRange' 设置图表标题.HasTitle = True.ChartTitle.Text = "能力评估雷达图".ChartTitle.Font.Size = 14.ChartTitle.Font.Bold = True' 设置图例.HasLegend = True.Legend.Position = xlLegendPositionBottom' 设置雷达图样式.PlotArea.Format.Fill.ForeColor.RGB = RGB(240, 248, 255).Axes(xlCategory).HasMajorGridlines = True.Axes(xlCategory).MajorGridlines.Format.Line.ForeColor.RGB = RGB(200, 200, 200)' 设置数据系列格式If .SeriesCollection.Count > 0 ThenWith .SeriesCollection(1).MarkerStyle = xlMarkerStyleCircle.MarkerSize = 7.Format.Fill.ForeColor.RGB = RGB(30, 87, 153).Format.Line.ForeColor.RGB = RGB(30, 87, 153).Format.Line.Weight = 2End WithEnd If' 设置雷达轴格式With .Axes(xlValue).MinimumScale = 0.MaximumScale = 10.MajorUnit = 2.HasTitle = True.AxisTitle.Text = "评分 (1-10)"End WithEnd With' 调整图表位置和大小chartObj.Left = ws.Columns("E").LeftchartObj.Top = ws.Rows(2).TopchartObj.Width = 450chartObj.Height = 350' 添加说明文本框Dim textBox As ShapeSet textBox = ws.Shapes.AddTextbox(msoTextOrientationHorizontal, _chartObj.Left, _chartObj.Top + chartObj.Height + 10, _450, 60)With textBox.TextFrame.Characters.Text = "说明: 此雷达图展示了各项能力的评分情况。" & vbCrLf & _"最高分为10分,内圈为0分,外圈为10分。".TextFrame.HorizontalAlignment = xlHAlignLeft.TextFrame.VerticalAlignment = xlVAlignTop.Fill.ForeColor.RGB = RGB(255, 255, 255).Line.ForeColor.RGB = RGB(200, 200, 200).TextFrame.Characters.Font.Size = 10.TextFrame.Characters.Font.Color = RGB(100, 100, 100)End With' 美化工作表ws.Columns("A:B").AutoFitws.Range("A1:B1").Font.Bold = Truews.Range("A1:B1").Interior.Color = RGB(240, 240, 240)MsgBox "雷达图创建成功!", vbInformationExit SubErrorHandler:MsgBox "创建雷达图时出错: " & Err.Description, vbCriticalEnd SubSub QuickRadarForAssessment()' 快速创建评估雷达图 - 简化版本Dim ws As WorksheetSet ws = ActiveSheet' 添加示例数据 (如果当前工作表为空)If ws.Cells(1, 1).Value = "" Thenws.Cells(1, 1).Value = "能力维度"ws.Cells(1, 2).Value = "评分"Dim abilities As Variantabilities = Array("技术能力", "沟通能力", "解决问题", "团队协作", _"创新能力", "项目管理", "学习能力", "领导力")Dim scores As Variantscores = Array(9, 7, 8, 9, 6, 7, 8, 5)Dim i As IntegerFor i = 0 To UBound(abilities)ws.Cells(i + 2, 1).Value = abilities(i)ws.Cells(i + 2, 2).Value = scores(i)Next iEnd If' 调用主程序创建雷达图CreateRadarChartEnd Sub
由于公众号平台更改了推送规则,为确保您能及时收到Excel每日一学的原创分享,请记得关注公众号并设为星标⭐,同时欢迎转发
、点赞
或在看
。

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