2009-02-25 5 views
1

В Excel 2003, когда я меняю Series.Interior.ColorIndex на значение, которое мне нужно, оно не имеет никакого эффекта. Это имеет эффект только тогда, когда я сначала вручную меняю цвет, а затем запускаю макрос. По-видимому, это вызывает некоторые механизмы обновления. У кого-нибудь есть объяснение? Есть ли способ каким-то образом вызвать это на диаграмме? .. I.e. убедитесь, что изменения цвета вступили в силу.Изменение .Interior.ColorIndex не влияет

Кроме того, когда я просматриваю код и смотрю ColorIndex, он не изменяется даже после присвоения значения. Является ли это одной из многих ошибок в Excel?

код выглядит следующим образом:

Sub DoStuff() 
    Dim j As Long 
    For j = 1 To ActiveChart.SeriesCollection.Count 
     With ActiveChart.SeriesCollection(j) 
      Select Case ActiveChart.SeriesCollection(j).Name 
       Case "Milk" 
        .Interior.ColorIndex = 4 
       Case "Cookies" 
        .Interior.ColorIndex = 28 
       Case "Honey" 
        .Interior.ColorIndex = 26 
      End Select 
     End With 
    Next j 
End Sub 

Edit: Я работаю с гистограммой.

+0

Я разместил данные примера Excel, которые использовал (см. Мой ответ ниже). Можете ли вы предоставить что-то подобное, которое иллюстрирует проблему, которую вы видите? –

ответ

1

Попробуйте установить границу.

.Interior.ColorIndex = 4 
.Border.ColorIndex = 4 
.Border.Weight = xlMedium 
+0

Спасибо за предложение, но никакого эффекта. Только граница изменилась. –

+0

Решил проблему, изменив стиль заполнения перед изменением цвета, а затем вернув его в исходное. Удивительно! .... –

1

Edit: В ответ на замечания & редактирует к первоначальному вопросу:

я выложил пример файла Excel, и я был в состоянии получить код для работы. Вот как мои данные выложена:

| A | B | C | D | 
-------------------------------- 
1 | Milk | 3 | 1 | 4 | 
2 | Cookies | 1 | 5 | 9 | 
3 | Honey | 2 | 6 | 5 | 

И гистограмма выглядит примерно так:

      ._. 
          |C| 
       ._.._.  |C|._. 
._. ._.  |C||H| ._.|C||H| 
|M|._.|H| ._.|C||H| |M||C||H| 
|M||C||H| |M||C||H| |M||C||H| 
--------------------------------- 
    1   2   3 

Где все бары с надписью «M» в приведенной выше схеме принадлежат «Молоко », все бары с надписью« C »относятся к серии« Cookies », а все бары с надписью« H »относятся к серии« Honey ».

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

+0

Это гистограмма. –

0

Возможно, ошибка в Excel, какая версия Excel вы используете? убедитесь, что у вас есть пакет обновления/патч и повторите попытку, чтобы воспроизвести проблему.

0

У меня была такая же проблема, с помощью Excel 2007 и 2003.

Но я установил его, открыв книгу в 2003 году, а затем форматирование рядов данных, щелкнув правой кнопкой мыши (и т.д.) и установка его цвет заливки Автоматически , тогда, когда я запустил свой макрос, часть настройки colorindex закрепится.

Смежные вопросы