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

又遇到了设置粗细变成蓝色的情况。看到上次的帖子 悟了

江西省
浏览 1194
收藏
2
分享
2 +1
2
+1
全部评论 2
 
厚积、薄发
what?
· 山东省
回复
牛马办公
VBA 操作图表
· 江西省
回复