【问题标题】:Macro not recording color change of series in excel宏不记录excel中系列的颜色变化
【发布时间】:2016-08-25 15:22:10
【问题描述】:

我正在尝试录制一个宏,我将在其中更改标记颜色、线条颜色、标记填充。但我在录音中得到的只是

Sub Macro1()
'
' Macro1 Macro
'
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(2).Select
End Sub

【问题讨论】:

  • 我使用的是 excel 2007
  • 宏记录器是一个黑盒子。正如您所发现的,它并不能可靠地记录所有内容。宏记录器本身没有任何关系。它确实告诉您需要使用SeriesCollection 进行所需的更改。探索 Excel 对象模型的那一部分。 可以以编程方式更改标记颜色等。
  • @Pramod 试试我下面回答中的代码

标签: excel vba


【解决方案1】:

这是一种用变量定义新系列的方法,并设置与之相关的不同参数:

Option Explicit

Sub Macro1()

Dim Cht_Series                          As Series

ActiveSheet.ChartObjects("Chart 1").Activate

Set Cht_Series = ActiveChart.SeriesCollection(1)

With Cht_Series
    ' line weight
    .Format.Line.Weight = 1

    ' Edit #1
    .Format.Line.Visible = msoTrue

    ' Line color red
    .Format.Line.ForeColor.RGB = RGB(192, 0, 0)

    ' marker style
    .MarkerStyle = xlMarkerStyleDiamond

    ' marker size
    .MarkerSize = 8

    ' marker Fill color
    .MarkerBackgroundColor = RGB(0, 176, 80) ' Marker Fill color Green

    ' marker foreground color
    .MarkerForegroundColor = RGB(0, 0, 0) ' marker foreground Black (lines around)

End With

End Sub

【讨论】:

  • 谢谢谢。但是线条颜色没有改变。标记颜色和标记填充按预期工作。我想将 rgb 颜色设置为行。我有一些具体的事情。是否可以?我不确定为什么不应用线条颜色
  • 即使这样也行不通。但是当我使用 Format.Fill.Forecolor 时,它正在改变标记填充。但是 Format.Line.Forecolor 不起作用
  • @ShaiRado 这是 Excel 2007/2010 中的一个已知错误。你用的是什么版本?
  • 好的,.RGB 分配在 2010 年有效。但 ObjectThemeColor 不是
  • @DavidZemens 2010 ,在折线型图表上工作得非常好,它在运行我的图表格式代码的 10-20 台其他 PC 上运行
猜你喜欢
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多