Изменение цветов диаграммы (столбец) на основе исходной ячейки (с использованием условного форматирования и VBA) - PullRequest
0 голосов
/ 12 декабря 2018

Попытка добавить кнопку для изменения цветов на столбчатой ​​диаграмме с учетом цвета исходной ячейки.

Это код, который я использую:

Private Sub CommandButton2_Click()

Dim oChart As ChartObject
Dim MySeries As Series
Dim FormulaSplit As Variant
Dim SourceRangeColor As Long
Dim seriesArray() As Variant
Dim pointIterator As Integer

For Each oChart In ActiveSheet.ChartObjects

For Each MySeries In oChart.Chart.SeriesCollection

    seriesArray = MySeries.Values
    For pointIterator = 1 To UBound(seriesArray)
        FormulaSplit = Split(MySeries.Formula, ",")
        SourceRangeColor = Range(FormulaSplit(2)).Item    (pointIterator).Interior.Color
        MySeries.Points(pointIterator).Interior.Color = SourceRangeColor
      Next pointIterator
  Next MySeries
Next oChart

End Sub

Он прекрасно работает, если я сам заполняю соответствующие ячейки, однако, если я устанавливаю ячейки так, чтобы их цвет заливался черезусловное форматирование, код выше меняет все полосы на белый.Я предполагаю, что это потому, что он не читает условно отформатированную заливку ячейки, поэтому по умолчанию используется белый цвет.

Есть ли способ исправить это?

Спасибо.

1 Ответ

0 голосов
/ 12 декабря 2018

Форматирование, применяемое через CF, доступно через свойство DisplayFormat:

Range(FormulaSplit(2)).Item (pointIterator).DisplayFormat.Interior.Color
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...