Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разноцветные ячейки столбца, имитирующие столбец гистограммы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Разноцветные ячейки столбца, имитирующие столбец гистограммы
ВасилисаЛукьянчикова Дата: Четверг, 18.04.2019, 00:17 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток.
Подскажите как решить проблему.

Есть ячейка C21 с числом от 0 до 100.
И нужно как-то закрасить столбец C4:C19 - цветами зеленым, желтым и красным (не УФ).
C14:C19 - это зеленый цвет, C9:C13 - это желтый цвет, C8:C4 - это красный цвет, или белый цвет (если число в C21 - слишком мало для ячейки столбца - определенного уровня).

Каждая ячейка из этого разноцветного столбца имеет числовое сопоставление (оно записано в столбце F - для наглядности, но так этого столбца на листе нет).
Ячейка C4 - равна числу от 90 до 100.
Ячейка C19 - равна числу от 0 до 6.
Например при числе 82 - столбец C будет закрашен до ячейки C6, которая соответствует уровню от 78 до 84.

Как это реализовать, чтобы при смене значения в ячейке C21 - менялась бы и закраска столбца C4:C19 ?
К сообщению приложен файл: 532.xls (30.5 Kb)
 
Ответить
СообщениеДоброго времени суток.
Подскажите как решить проблему.

Есть ячейка C21 с числом от 0 до 100.
И нужно как-то закрасить столбец C4:C19 - цветами зеленым, желтым и красным (не УФ).
C14:C19 - это зеленый цвет, C9:C13 - это желтый цвет, C8:C4 - это красный цвет, или белый цвет (если число в C21 - слишком мало для ячейки столбца - определенного уровня).

Каждая ячейка из этого разноцветного столбца имеет числовое сопоставление (оно записано в столбце F - для наглядности, но так этого столбца на листе нет).
Ячейка C4 - равна числу от 90 до 100.
Ячейка C19 - равна числу от 0 до 6.
Например при числе 82 - столбец C будет закрашен до ячейки C6, которая соответствует уровню от 78 до 84.

Как это реализовать, чтобы при смене значения в ячейке C21 - менялась бы и закраска столбца C4:C19 ?

Автор - ВасилисаЛукьянчикова
Дата добавления - 18.04.2019 в 00:17
bmv98rus Дата: Четверг, 18.04.2019, 07:33 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата ВасилисаЛукьянчикова, 18.04.2019 в 00:17, в сообщении № 1 ()
(не УФ).
почему?


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата ВасилисаЛукьянчикова, 18.04.2019 в 00:17, в сообщении № 1 ()
(не УФ).
почему?

Автор - bmv98rus
Дата добавления - 18.04.2019 в 07:33
RAN Дата: Четверг, 18.04.2019, 09:10 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$21" Then Exit Sub
    Dim ar(): ar = Array(100, 90, 84, 78, 72, 66, 60, 54, 48, 42, 36, 30, 24, 18, 12, 6)
    [c4].Resize(5, 3).Interior.ColorIndex = 3
    [c4].Offset(5).Resize(5, 3).Interior.ColorIndex = 6
    [c4].Offset(10).Resize(6, 3).Interior.ColorIndex = 4
    [c4].Offset(-1).Resize(Application.Match(Target.Value, ar, -1), 3).Interior.ColorIndex = 0
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$21" Then Exit Sub
    Dim ar(): ar = Array(100, 90, 84, 78, 72, 66, 60, 54, 48, 42, 36, 30, 24, 18, 12, 6)
    [c4].Resize(5, 3).Interior.ColorIndex = 3
    [c4].Offset(5).Resize(5, 3).Interior.ColorIndex = 6
    [c4].Offset(10).Resize(6, 3).Interior.ColorIndex = 4
    [c4].Offset(-1).Resize(Application.Match(Target.Value, ar, -1), 3).Interior.ColorIndex = 0
End Sub
[/vba]

Автор - RAN
Дата добавления - 18.04.2019 в 09:10
ВасилисаЛукьянчикова Дата: Четверг, 18.04.2019, 11:52 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
RAN, спасибо.
 
Ответить
СообщениеRAN, спасибо.

Автор - ВасилисаЛукьянчикова
Дата добавления - 18.04.2019 в 11:52
bmv98rus Дата: Четверг, 18.04.2019, 12:26 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Из расчета на строкую последовательность +6 можно без массива
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$21" Then Exit Sub
    [c4].Resize(5).Interior.ColorIndex = 3
    [c4].Offset(5).Resize(5).Interior.ColorIndex = 6
    [c4].Offset(10).Resize(6).Interior.ColorIndex = 4
    If Int(16 - Target.Value / 6) > 0 Then [c4].Resize(Int(16 - Target.Value / 6)).Interior.ColorIndex = 0
End Sub
[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеИз расчета на строкую последовательность +6 можно без массива
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$21" Then Exit Sub
    [c4].Resize(5).Interior.ColorIndex = 3
    [c4].Offset(5).Resize(5).Interior.ColorIndex = 6
    [c4].Offset(10).Resize(6).Interior.ColorIndex = 4
    If Int(16 - Target.Value / 6) > 0 Then [c4].Resize(Int(16 - Target.Value / 6)).Interior.ColorIndex = 0
End Sub
[/vba]

Автор - bmv98rus
Дата добавления - 18.04.2019 в 12:26
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!