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

Вход

Регистрация

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

 

= Мир MS Excel/закрашивание ячеек цветом, зависящем от значения в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » закрашивание ячеек цветом, зависящем от значения в ячейке (Макросы/Sub)
закрашивание ячеек цветом, зависящем от значения в ячейке
pavelselected Дата: Среда, 17.03.2021, 03:47 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте.

Возможно ли сделать такой макрос?

Выделяем диапазон ячеек, в которых в виде значений указаны числа от 1 до 100, в разном порядке. И макрос закрашивает их цветом по определенным правилам:
От 1 до 12 -- оттенки красного, где 1 -- самый красный.
от 13 до 36 -- оттенки оранжевого, где 25 -- самый оранжевый.
от 37 до 62 -- оттенки зеленого, где 50 -- самый зеленый.
от 63 до 86 -- оттенки синего, где 75 -- самый синий.
от 87 до 100 -- оттенки фиолетового, где 100 -- самый фиолетовый.

Идея в том, что цвета плавно переходят один в другой от красного, в оранжевый, затем зеленый, синий и фиолетовый, с контрольными точками на 1, 25, 50, 75 и 100.

Я не знаю, возможно ли это сделать просто, чтобы сильно не заморачиваться и не указывать каждый цвет для каждого значения в макросе (или проще указать вручную?). Либо через RGB параметры цвета, или через шестнадцатеричные значения.

Не обязательно использовать именно такую последовательность цветов. Если уже есть последовательность цветов, плавно переходящих друг в друга со 100 значениями -- скорее всего подойдет тоже.

В файле во вложении, я выделяю диапазон D4-W17 и макрос закрашивает ячейки таблицы по алгоритму.

Из хотелок -- возможно ли будет прописать параметр "прозрачность", чтобы я мог регулировать интенсивность цветов при работе макроса?

Не знаю, можно ли писать здесь так, но готов угостить кофе, или пивом за работающий макрос.
К сообщению приложен файл: examp2.xlsx (9.2 Kb)
 
Ответить
СообщениеЗдравствуйте.

Возможно ли сделать такой макрос?

Выделяем диапазон ячеек, в которых в виде значений указаны числа от 1 до 100, в разном порядке. И макрос закрашивает их цветом по определенным правилам:
От 1 до 12 -- оттенки красного, где 1 -- самый красный.
от 13 до 36 -- оттенки оранжевого, где 25 -- самый оранжевый.
от 37 до 62 -- оттенки зеленого, где 50 -- самый зеленый.
от 63 до 86 -- оттенки синего, где 75 -- самый синий.
от 87 до 100 -- оттенки фиолетового, где 100 -- самый фиолетовый.

Идея в том, что цвета плавно переходят один в другой от красного, в оранжевый, затем зеленый, синий и фиолетовый, с контрольными точками на 1, 25, 50, 75 и 100.

Я не знаю, возможно ли это сделать просто, чтобы сильно не заморачиваться и не указывать каждый цвет для каждого значения в макросе (или проще указать вручную?). Либо через RGB параметры цвета, или через шестнадцатеричные значения.

Не обязательно использовать именно такую последовательность цветов. Если уже есть последовательность цветов, плавно переходящих друг в друга со 100 значениями -- скорее всего подойдет тоже.

В файле во вложении, я выделяю диапазон D4-W17 и макрос закрашивает ячейки таблицы по алгоритму.

Из хотелок -- возможно ли будет прописать параметр "прозрачность", чтобы я мог регулировать интенсивность цветов при работе макроса?

Не знаю, можно ли писать здесь так, но готов угостить кофе, или пивом за работающий макрос.

Автор - pavelselected
Дата добавления - 17.03.2021 в 03:47
Nic70y Дата: Среда, 17.03.2021, 09:24 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8701
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
предлагаю такой вариант:
Лист шаблон, на нем Правила условного форматирования,
их Вы можете менять по собственному усмотрению,
на листе с числами выделяете диапазон и
запускаете макрос.
[vba]
Код
Sub u_701()
    Application.ScreenUpdating = False
    For Each u In Selection
        u_1 = True      'неточный поиск
        'u_1 = False     'точный поиск
        u_2 = Application.Match(u, Sheets("Шаблон").Range("a1:a101"), u_1)
        u_3 = Application.IsNumber(u_2)
        If u_3 Then
            u_4 = Sheets("Шаблон").Range("a" & u_2).DisplayFormat.Interior.Color
            u.Interior.Color = u_4
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: examp2.xlsm (21.4 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениепредлагаю такой вариант:
Лист шаблон, на нем Правила условного форматирования,
их Вы можете менять по собственному усмотрению,
на листе с числами выделяете диапазон и
запускаете макрос.
[vba]
Код
Sub u_701()
    Application.ScreenUpdating = False
    For Each u In Selection
        u_1 = True      'неточный поиск
        'u_1 = False     'точный поиск
        u_2 = Application.Match(u, Sheets("Шаблон").Range("a1:a101"), u_1)
        u_3 = Application.IsNumber(u_2)
        If u_3 Then
            u_4 = Sheets("Шаблон").Range("a" & u_2).DisplayFormat.Interior.Color
            u.Interior.Color = u_4
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 17.03.2021 в 09:24
pavelselected Дата: Пятница, 19.03.2021, 00:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, Работает)
Если у меня будет много листов, то лист с Шаблоном может быть в любом месте, не будет влиять то, находится он сразу за активным листом, или где-нибудь в конце очереди?

Отправил благодарность, спасибо)
 
Ответить
СообщениеNic70y, Работает)
Если у меня будет много листов, то лист с Шаблоном может быть в любом месте, не будет влиять то, находится он сразу за активным листом, или где-нибудь в конце очереди?

Отправил благодарность, спасибо)

Автор - pavelselected
Дата добавления - 19.03.2021 в 00:34
Nic70y Дата: Пятница, 19.03.2021, 08:11 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8701
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
Цитата pavelselected, 19.03.2021 в 00:34, в сообщении № 3 ()
лист с Шаблоном может быть в любом месте
да.
макрос ищет по имени листа
Sheets("Шаблон")

Цитата pavelselected, 19.03.2021 в 00:34, в сообщении № 3 ()
Отправил благодарность
спасибо


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата pavelselected, 19.03.2021 в 00:34, в сообщении № 3 ()
лист с Шаблоном может быть в любом месте
да.
макрос ищет по имени листа
Sheets("Шаблон")

Цитата pavelselected, 19.03.2021 в 00:34, в сообщении № 3 ()
Отправил благодарность
спасибо

Автор - Nic70y
Дата добавления - 19.03.2021 в 08:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » закрашивание ячеек цветом, зависящем от значения в ячейке (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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