Excel 在循环中添加图例颜色
我对vba编程相当陌生,所以请容忍我 我正试图在我的图表中为这两个图绘制红色的线条和标记,但我的脚本只为第一个图着色。如何在循环中与选择(或其他内容)一起使用Excel 在循环中添加图例颜色,excel,vba,Excel,Vba,我对vba编程相当陌生,所以请容忍我 我正试图在我的图表中为这两个图绘制红色的线条和标记,但我的脚本只为第一个图着色。如何在循环中与选择(或其他内容)一起使用 With ActiveChart l = 1 Do Until l = 3 .SeriesCollection.NewSeries .SeriesCollection(l).Name = Sheets("Data").Range("A" & 8 + l) .SeriesCol
With ActiveChart
l = 1
Do Until l = 3
.SeriesCollection.NewSeries
.SeriesCollection(l).Name = Sheets("Data").Range("A" & 8 + l)
.SeriesCollection(l).XValues = Sheets("Data").Range("B7:F7")
.SeriesCollection(l).Values = Sheets("Data").Range("B" & 19 + l + LotAmount & ":F" & 19 + l + LotAmount)
With Selection
.Border.LineStyle = xlContinuous
.Border.Color = RGB(255, 0, 0)
.MarkerBackgroundColor = RGB(255, 0, 0)
.MarkerForegroundColor = RGB(255, 0, 0)
End With
l = l + 1
Loop
End With
这可能是小菜一碟,所以我希望这对你们来说是一个简单的解决办法:)
致意
朗尼你的代码模棱两可。您希望循环浏览多个图表,但从
with activechart
因此,序列名称、值和颜色仅应用于ActiveChart
。顺便说一句,您将与选择一起使用
,但实际上并不是。以前选择过任何东西。以下是一些代码,您可以稍作更改:
Option Explicit
Dim sht as worksheet
Dim cht as ChartObject
Set sht = Thisworkbook.Sheets("Your sheet name") ' Sheet "Data"?
For Each cht in sht.chartObjects
If cht.name = "Chart4" or cht.name = "Chart5" or cht.name = "Chart6" Then
With cht.chart.SeriesCollection[(l)]
.NewSeries
.Name = sht.range("A" & 8 [+ l])
.XValues = sht.Range("B7:F7")
.Values = Sheets("Data").Range("B" & 19 [+ l + LotAmount] & ":F" & 19 [+ l + LotAmount])
End With
With cht.chart.ChartArea
.Border.LineStyle = xlContinuous
.Border.Color = RGB(255, 0, 0)
.MarkerBackgroundColor = RGB(255, 0, 0)
.MarkerForegroundColor = RGB(255, 0, 0)
End With
End If
Next
我没试过,但你可以以此作为开始。任何疑问都不要犹豫。希望这有帮助
PS:始终使用选项显式(强制变量声明)
编辑:只有最后三张图表谢谢你的回答,你写的很有意义。我对上述代码有一个问题。我的工作表上有6个活动图,只需要将其应用于最后三个(图4、图5和图6)。当我读到你的代码时,它会改变所有图表?@JiheL你可以使用选择Case cht.name
,然后使用Case“Chart4”、“Chart5”、“Chart6”
@ShaiRado是的,你是对的,但这不是正确的方法,因为我们在每个案例中都会有3倍相同的代码