Excel VBA для изменения размера маркера, цвета и прозрачности на графике радара
VBA застала меня врасплох, когда я пытаюсь назначить свой цвет маркера И уровень прозрачности на радиолокационной карте. Я читал, что есть некоторые проблемы с порядком, но независимо от того, где я пробую параметр.transparency, я получаю следующую ошибку: Объект не поддерживает это свойство или метод.
Если я закомментирую строку.transparency в следующем коде, я получу отличный радарный график с маркерами, окрашенными значениями в rngColors. Я просто хотел бы сделать их прозрачными, чтобы проходили основные линии. Любая помощь или совет будет принята с благодарностью.
С уважением, Адам
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
РЕДАКТИРОВАТЬ: Благодаря ссылке в комментариях, следующий код работал для меня, когда запускается как отдельный макрос после назначения цвета. Хотя это сложно, и я не знаю почему. Сначала мне нужно запустить код прозрачности (ниже), затем закомментировать.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
1 ответ
Информация, которую я нашел, имеет правильный синтаксис .Format.Fill.Transparency = 0.5
http://answers.microsoft.com/en-us/office/forum/office_2007-excel/macro-to-change-the-transparency-of-markers-in-a/6a9964a7-30ad-4412-a48f-2334e4ecd63d
Хотя в данной кодировке обсуждаются ошибки в зависимости от версии Excel: http://www.mediafire.com/file/j2tnzlcizzm/05_09_10b.pdf