Excel VBA用于改变雷达图上的市场规模,颜色和透明度

当试图在雷达图表上指定自定义标记颜色和透明度级别时,我受到VBA的限制。 我读过有顺序的一些问题,但无论我在哪里尝试。透明度参数,我得到以下错误:对象不支持此属性或方法。

如果我在下面的代码中注释掉.transparency行,我会得到一个很好的雷达图,标记的颜色是rngColors中的值。 我只是想让它们透明,所以底层线图也是如此。 任何帮助或build议将不胜感激。

问候,亚当

Sub colorPoints() 'Must select chart when running macro Dim x As Long Dim rngColors As Range Set rngColors = Range("H8:H57") 'set range of RGB color For x = 1 To ActiveChart.SeriesCollection(1).Points.Count With ActiveChart.SeriesCollection(1).Points(x) .Format.Fill.Solid .MarkerBackgroundColor = RGB(212, 142, rngColors(x)) .transparency = 0.5 <-Error: 'Object doesn't support this property or method.' End With Next End Sub 

编辑:感谢评论中的链接,下面的代码为我分配颜色后作为单独的macros运行时。 这是棘手的,但我不知道为什么。 首先,我需要运行透明代码(下面),然后注释掉.Solid,然后运行颜色代码(上面),然后透明代码再次(下面),然后它的工作。 哎呀! 我现在不太担心优化,但这似乎有规律的工作:

 Sub transcheck() ' transcheck Macro Dim cht As Chart Dim Ser As Series Dim lngIndex As Long Dim lngChartType As XlChartType Set cht = ActiveSheet.ChartObjects(1).Chart Set Ser = cht.SeriesCollection(1) lngChartType = Ser.ChartType Ser.ChartType = xlColumnClustered For lngIndex = 1 To 50 With Ser.Format.Fill .Solid .Visible = True .transparency = 0.5 End With Ser.ChartType = lngChartType Next End Sub 

我find的信息有正确的语法.Format.Fill.Transparency = 0.5 http://answers.microsoft.com/en-us/office/forum/office_2007-excel/macro-to-change-the-transparency-of-标记-IN-A / 6a9964a7-30ad-4412-a48f-2334e4ecd63d

尽pipe根据您的Excel版本讨论了该编码的错误: http : //www.mediafire.com/file/j2tnzlcizzm/05_09_10b.pdf

Interesting Posts