Страницы: 1
RSS
построение линии графика разными цветами
 
Уважаемые знатоки, если кому не трудно, подскажите, пожалуйста как построить график, что бы цвет его линии зависел от типа данных.бывает два варианта данных, нужно, что бы в зависимости от варианта тип линии графика менялся.
 
В данном конкретном случае добавьте событие на лист1  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
   If Not Intersect(Target, [C5:AA5]) Is Nothing Then
       ActiveSheet.ChartObjects("Äèàãðàììà 1").Activate  
       For Each icell In [C5:AA5]
           ActiveChart.SeriesCollection(1).Points(icell.Column - 2).Select  
           If icell.Value = 1 Then  
               Selection.Format.Line.ForeColor.RGB = RGB(255, 0, 0)  
           Else  
               Selection.Format.Line.ForeColor.RGB = RGB(0, 0, 255)  
           End If  
       Next  
   End If  
End Sub  
 
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
 
Private Sub Worksheet_Change(ByVal Target As Range)  
   If Not Intersect(Target, [C5:AA5]) Is Nothing Then
       ActiveSheet.ChartObjects("Диаграмма 1").Activate  
       For Each icell In [C5:AA5]
           ActiveChart.SeriesCollection(1).Points(icell.Column - 2).Select  
           If icell.Value = 1 Then  
               Selection.Format.Line.ForeColor.RGB = RGB(255, 0, 0)  
           Else  
               Selection.Format.Line.ForeColor.RGB = RGB(0, 0, 255)  
           End If  
       Next  
   End If  
End Sub  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
 
ber$erk, спасибо большое, работает прекрасно.
 
а если нужно заменить синюю линию на синюю пунктирную, что нужно дописать?
 
а макрорекодер что говорит по этому поводу?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Действительно. Я ведь этот код тоже на основании макрорекордера писал. Сейчас нет возможности дописать код - попробуйте сами.  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
 
если бы знать , как его использовать в этом конкретном случае. Как записать изменение типа линии в зависимости от данных таблицы, в график попадает только 2 строки, а нижняя нет.
 
А разве нет конкретного правила, по которому определяется 0 ставить или 1? По любому есть - надо его заложить в формулу и все.  
________________________  
khafizovtt@gmail.com
Учимся сами и помогаем другим...
 
а макрорекодер что говорит по этому поводу?  
ikki, а в 2007 он молчит как партизан:( KL как то писал:  
http://www.planetaexcel.ru/forum.php?thread_id=23009  
У пользователя Excel 2007. За неимением лучшей альтернативы в Excel 2007 (объекта Diagram УЖЕ(!) нет, а объект SmartArt ЕЩЕ(!) непрограммируем до Excel 2010)
 
я просто спросил, безо всякого ехидства :)  
ибо настолько редко имею дело с диаграммами, что на память ничего и не помню.  
оказывается, за стиль линии отвечает свойство LineStyle свойства Border объекта Series  
(не, ну я реально в шоке! ну кто сможет догадаться???)  
 
в ObjectBrowser имеется перечислимый тип xlLineStyle  
даже совсем не зная английский, можно методом тыка перебрать все восемь значений и посмотреть на результат.  
всяко быстрее выйдет, чем несколько часов ждать ответ на форуме :)  
 
имхо, конечно же.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
0 или 1 нельзя заложить в формулу, вариант выбирается в ручную. Жаль что ничего не поняла из диалога ikki и Igor67, но вообщето тема для меня интересная, попытаюсь разобраться, возникло еще несколько вопросов - несколько линий на 1 графике и несколько графиков на 1 листе. Понимаю, что все можно построить с помощью макрекордера, но не знаю как это записать. Включить команду запись, построить таблицу и график и в ручную менять значения вариантов?
 
 http://andypope.info/ngs/ng50.htm
Страницы: 1
Читают тему
Наверх