vba 创建图表 设置每行数据作为系列 系列数据源 图表类别数据源 批量修改系列线条粗细
Sub CreateLineChartWithSeries()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim seriesCollection As seriesCollection
Dim seriesDataRange As Range
Dim categoriesRange As Range
Dim xAxisRange As Range
Dim Color As Variant
' 设置工作表,这里使用活动工作表
Set ws = ActiveSheet
' 定义图表数据区域和类别轴标签区域
Set seriesDataRange = ws.Range("A2:BK36")
Set categoriesRange = ws.Range("A2:A36")
Set xAxisRange = ws.Range("B1:BK1")
' 在活动工作表上创建一个折线图对象
Set chartObj = ws.ChartObjects.Add(Left:=600, Width:=1200, Top:=300, Height:=600)
' 设置图表类型为折线图
With chartObj
'折线图
.Chart.Type = xlLine
' 设置图表的数据源和类别轴标签
.Chart.SetSourceData Source:=seriesDataRange, PlotBy:=xlRows
'用直线连接数据点
.Chart.DisplayBlanksAs = xlInterpolated
'隐藏单元格不显示
.Chart.PlotVisibleOnly = True
'设置轴标签 类别范围
.Chart.seriesCollection(1).XValues = xAxisRange
.Chart.Legend.Position = xlLegendPositionTop ' 设置图例在图表的顶部
For Each Series In .Chart.seriesCollection
Color = Series.Format.Line.ForeColor.RGB
' 设置线条粗细为2磅
Series.Format.Line.Weight = 2
Series.Format.Line.ForeColor.RGB = Color
Next Series
End With
' 清理
Set seriesCollection = Nothing
Set seriesDataRange = Nothing
Set categoriesRange = Nothing
Set ws = Nothing
Set chartObj = Nothing
End Sub
Sub Macro1()
'
' Macro1 Macro
' 宏由 Administrator 录制,时间: 2024/08/30
'
Dim rng As Range
Set rng = Range("B1:BK36")
rng.Clear
End Sub
又遇到了设置粗细变成蓝色的情况。看到上次的帖子 悟了