Страницы: 1
RSS
изменение цвета точек в точечном 2D графике в зависимости от доли продаж
 
всем доброго времени суток
извините, что Вас беспокоил
прошу вашей помощи, уже 2 дня голову ломаю, но без результативно
как изменить цвета точек в точечном графике в зависимости от доли продаж
например, 70% - зеленый, 20% - желтый, 10% - красный
количество точек меняется в зависимости от фильтра (дистрибьютора, бренда, SKU, недели)
файл во вложении
есть ли у вас какие-то идеи?
заранее спасибо за потраченное драгоценное время
Изменено: hk1209 - 28.02.2014 08:38:25
 
уважаемые добрые люди
есть ли у вас какие-то идеи по этой задаче
буду признателен на любые идеи
спасибо за потраченное драгоценное время
 
Единственное что пришло в голову градиентная заливка фона построения графика
Лень двигатель прогресса, доказано!!!
 
Макросом
Изменено: Sanja - 28.02.2014 12:31:53
Согласие есть продукт при полном непротивлении сторон
 
seregeyss - огромное спасибо за потраченное драгоценное время, но не так. Думаю такой подход решения задачи не даст нам никакой полезной информации, но еще раз вам спасибо

Sanja - огромное спасибо за потраченное драгоценное время, буду использовать Ваш вариант
подумал, что без макроса можно решать, но ошибался
еще раз огромное спасибо
всем хорошего рабочего и продуктивного дня и вечера
хороших выходных
 
+ С заливкой ячеек
Согласие есть продукт при полном непротивлении сторон
 
добрый день
извините что вас беспокоил. нужна ваша подсказка
сейчас использую следующий код:

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        If .Column <> 23 Or .Cells.Count > 1 Then Exit Sub
    End With
    Application.ScreenUpdating = False
    
    LastRow = Cells(Rows.Count, 23).End(xlUp).Row - 3
    
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveChart.SeriesCollection(1).Select
    dtRow = 4
    
    For I = 1 To LastRow
    With ActiveChart.SeriesCollection(1).Points(I).Format.Fill.ForeColor
        Select Case Range("W" & dtRow).Value
            Case 0.7 To 1
                .RGB = RGB(122, 184, 0)
            Case 0.2 To 0.69
                .RGB = RGB(240, 171, 0)
            Case 0.1 To 0.19
                .RGB = RGB(239, 48, 36)
            End Select
    End With
    dtRow = dtRow + 1
    Next I
Target.Select
Application.ScreenUpdating = True
End Sub
 
все работает хорошо, но когда обновляются данные таблицы в зависимости от фильтра, то цвет в диаграмме автоматически не меняется, она не чувствует что произошло изменение в таблице, но когда нажимаю на любую ячейку колонки "А", то происходить автоматическая проверка и меняется цвет в диаграмме.
думаю что-то надо добавить.
добавил следующий код:

Код
With Application
   .Volatile    
   .ScreenUpdating = True  
   .Calculation = xlCalculationAutomatic    
End With 
но нет никаких изменений
есть ли у вас какие-то идеи
заранее спасибо
 
Цитата
hk1209 пишет:
но когда обновляются данные таблицы в зависимости от фильтра,
поясните? Фильтр меняет не сами данные а их отображение на листе.
Макрос можно повесить на любое событие листа или книги, или на отдельную кнопку, или выполнять по времени. На Ваше решение...
Изменено: Sanja - 03.03.2014 10:01:42
Согласие есть продукт при полном непротивлении сторон
 
Sanja - спасибо за оперативный ответ
в моем документе происходить следующий модель обработки информации
есть лист Array - все исходные данные там
Filtr - там данные в зависимости от фильтра обрабатываются и отфильтруется по DESC (VBA)
PrimeData - там определяется какие регионы попадают под 70%, 20% & 10%
c листа Filtr код региона копируется на лист Map (VBA), затем на против каждого региона подтягивается (70%, 20%, 10%) (колонка W), в колонке Z есть данные по продажам за последнюю неделю (сортировка по DESC)
Ваш написанный макрос берет данные из колонки W & Z, они меняются, увеличивается или уменьшается
надеюсь ответил на ваши вопросы  
 
Для ускорения процесса и исключение неправильного понимания приложите файл в реальной структуре (небольшой, см. Правила)
Согласие есть продукт при полном непротивлении сторон
 
фильтры меняют данные, в ячейке есть формулы а не сами данные, они подтягивают данные из другого листа, где происходить расчет
 
1 вариант - запуск макроса каждые 30 секунд
2 вариант - при изменении данных на втором листе
Согласие есть продукт при полном непротивлении сторон
 
Sanja - огромное спасибо за потраченное драгоценное время
Страницы: 1
Читают тему
Наверх