Добрый день. Ситуация непонятная. На странице с данными (Excel 2007) имеется встроенная диаграмма тип: .ChartType = xlXYScatterSmoothNoMarkers Средствами vba указаны данные, все отображается норм. Не выполняются (не приводит к изменению параметров) команды vba по изменению параметров осей диаграммы: ActiveSheet.ChartObjects(1).Chart.Axes(xlPrimary).Format.Line.ForeColor.RGB = RGB(0, 0, 0) Так же не удаётся сменить соответствующий параметр в окне "Watches" в режиме отладки.
Однако, если вручную установить в диалоговом окне "Формат оси" в параметрах "Цвет линии" в элементе "Цвет" какой ни-будь другой цвет (по умолчанию сероватый), при этом Ексель выдаёт предупреждающий вопрос: "Для отображения сложного форматирования, примененного к выбранной диаграмме, может потребоваться значительное время. Продолжить использование этого форматирования?" После подтверждения, цвет оси меняется и в дальнейшем изменение цвета макрокомандами выполняется без проблем. При этом вес (толщина) осей без проблем меняется с самого начала аналогичной командой: ActiveSheet.ChartObjects(1).Chart.Axes(xlPrimary).Format.Line.Weight = 2 Может кто подсказать, возможно ли и как это вылечить?
Без vba будет сложно. Проблема возникает именно при действиях в макросе. Если действовать средствами пользовательского интерфейса, то, за исключением упомянутого "лишнего" вопроса/предупреждения GUI, проблем не возникает - цвета осей меняются в диалоговом окне их свойств. Собственно. после разового такого (ручного) изменения, становится доступным (реагирует на команды) и средствами vba
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Range("Лист1!$C$3:$E$20")
With ActiveChart.Axes(xlValue).Format.Line
.ForeColor.RGB = RGB(0, 32, 96)
.Weight = 2.25
End With
With ActiveChart.Axes(xlPrimary).Format.Line
.ForeColor.RGB = RGB(255, 255, 96)
.Weight = 2.25
End With