Как изменить цвет ячейки при нажатии или выборе ячейки в Excel?
VBA Excel. Цвет ячейки
Начиная с Excel 2007, основным способом заполнения диапазона или отдельной ячейки цветом (обводка, добавление, изменение фона) является использование свойства .Inside.Colour объекта Range путем присвоения ему десятичного значения цвета от 0 до 16777215 (всего 16777216 цветов).
Заливка ячейки цветом в VBA Excel
Пример кода 1:
Нажмите кнопку «Run Sub» на панели инструментов или на клавиатуре «F5», когда курсор находится внутри запускаемой программы. Цвета будут применены к ячейкам и диапазонам активного листа Excel после выделения.
Есть интересная деталь: если мы присвоим свойству .Interior.Color отрицательное значение между -16777215 и -1, цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, после выполнения следующего кода заполнение всех трех ячеек будет одинаковым:
Проверено в Excel 2016 года.
Вывод сообщений о числовых значениях цветов
Числовые значения цветов не могут быть сохранены, поэтому часто возникает вопрос, как найти числовое значение фона ячейки. Следующий код Excel VBA выдает сообщения о числовых значениях ранее назначенных цветов.
Пример кода 2:
Вместо вывода сообщений переменным можно присваивать числовые значения, объявив их Long.
Использование предопределенных констант
В VBA Excel есть предопределенные константы часто используемых цветов для заполнения ячеек:
Предопределенная константа | Наименование цвета |
vbBlack | Черный |
vbBlue | Голубой |
vbCyan | Бирюзовый |
vbGreen | Зеленый |
vbMagenta | Пурпурный |
vbRed | Красный |
vbWhite | Белый |
vbYellow | Желтый |
В VBA Excel цвету данной ячейки присваивается предопределенная константа, так же как и числовому значению:
Пример кода 3:
Цветовая модель RGB
Цветовая система RGB состоит из трех основных цветов: красного, зеленого и синего. Значения могут варьироваться от 0 до 255. Если все значения равны 0, то это черный цвет. Если все значения равны 255, то это белый цвет.
Вы можете определить значения RGB цвета с помощью палитры Excel:
Открывается в новом окне «Палитра Excel
Для того чтобы присвоить цвет ячейке или диапазону, используя значения RGB, их необходимо преобразовать в десятичное число, представляющее цвет. Для этого существует функция Excel VBA под названием RGB.
Пример кода 4:
Свойство .Interior.ColorIndex объекта Range
В Excel 2007 для заполнения фона каждой ячейки можно было выбрать только 56 цветов. На сегодняшний день это все еще так. Цвета в этой палитре пронумерованы от 1 до 56. Вы можете использовать свойство . ColorIndex, чтобы присвоить ячейке индексный цвет или вывести сообщение о нем:
Пример кода 5:
Запуск простого макроса в VBA Excel покажет ограниченный диапазон фонов, которые можно использовать:
3 быстрых способа выбора видимых ячеек в Excel
Что делать, когда нужно скопировать диапазон ячеек в Excel и вставить их в другое место?
Эти три шага, как правило, срабатывают:
- Выберите ячейки, которые необходимо скопировать.
- Скопируйте ячейки (Control + C).
- Выберите целевую ячейку и вставьте эти ячейки (Control + V).
Предположим, что набор данных содержит более одной скрытой ячейки?
Этих трех этапов недостаточно.
Позвольте показать вам, что происходит, когда вы пытаетесь скопировать ячейки, в которых есть скрытые строки/столбцы.
Посмотрите на набор данных, приведенный ниже:
Обратите внимание, что в этом наборе данных есть скрытые ряды (посмотрите на номера рядов).
Теперь давайте посмотрим, что произойдет, если я попытаюсь скопировать эти ячейки и вставить их в другое место.
Выше я выбрал видимые ячейки, но когда я вставляю эти ячейки, копируются как видимые, так и скрытые ячейки.
Решение этой проблемы заключается в том, чтобы убедиться, что Excel выбирает только видимые ячейки. Если копируются и вставляются только видимые ячейки, я могу делать все, что захочу.
В этом уроке я покажу вам три способа выделения только видимых ячеек в Excel.
Выберите видимые ячейки с помощью сочетания клавиш
Самый простой способ выделения видимых ячеек в Excel — использование следующей комбинации клавиш:
- Для Windows: ALT +; (удерживайте клавишу ALT и нажмите точку с запятой)
- Для Mac: Cmd + Shift + Z
Ниже показано, как я выделяю только видимые ячейки, копирую их (обратите внимание на марширующих муравьев вокруг выделения) и вставляю их:
Выберите видимые ячейки с помощью диалогового окна "Перейти к специальному"
Хотя комбинации клавиш являются самым быстрым способом выделения видимых ячеек, есть и другой способ, если вы не хотите использовать клавиатуру или не помните комбинации клавиш.
Для выбора ячеек в наборе данных можно использовать диалоговое окно Перейти к специальному.
- Выберите набор данных, в котором вы хотите выделить видимые ячейки.
- Перейдите на вкладку "Главная".
- В группе «Редактирование» нажмите «Найти и выбрать».
- Щелкните Перейти к специальному.
- В диалоговом окне «Перейти к специальному» выберите «Только видимые ячейки».
- Щелкните ОК.
При нажатии этой кнопки будут выбраны все видимые ячейки в наборе данных.
Выберите видимые ячейки с помощью команды QAT
Добавьте команду панели инструментов быстрого доступа (QAT) на панель инструментов быстрого доступа, чтобы выделить видимые ячейки в Excel.
После добавления данных можно щелкнуть эту команду, и она выделит все видимые ячейки.
Вот шаги для добавления команды «Выделить видимые ячейки» в QAT
- Щелкните значок «Настроить панель быстрого доступа».
- Выберите «Дополнительные команды».
- В диалоговом окне «Параметры Excel» в раскрывающемся списке «Выбрать команду из» выберите «Все команды».
- Прокрутите список вниз и нажмите «Выбрать видимые ячейки».
- Щелкните по кнопке Добавить.
- Щелкните ОК.
Приведенные выше шаги добавляют в QAT команду «Выбрать видимые ячейки».
В результате, когда вы выбираете набор данных и щелкаете эту команду в QAT, она выбирает только видимые ячейки.
Как изменить цвет ячейки при нажатии или выборе ячейки в Excel?
Сообщения: 94
Благодарности:
Сообщения: 16720
Благодарности: 3216
Конфигурация компьютера | |
Процессор: 11th Gen Intel(R) Core(TM) i7-1165G7 | |
Материнская плата: LNVNB161216 | |
Память: 16 гб | |
Видеокарта: Intel(R) Iris(R) Xe Graphics | |
Звук: Realtek High Definition Audio(SST) | |
Монитор: 15,6" | |
Ноутбук/нетбук: LENOVO_ThinkBook 15 G2 ITL | |
ОС: Windows 11 — 64 Pro | |
Прочее: SSD NVMe SAMSUNG MZALQ512HALU-000L2 |
Чтобы отключить блокировку рекламы, пожалуйста, зарегистрируйтесь или войдите в систему под своей учетной записью в социальной сети.
Сообщения: 94
Благодарности:
Сообщения: 16720
Благодарности: 3216
Конфигурация компьютера | |
Процессор: 11th Gen Intel(R) Core(TM) i7-1165G7 | |
Материнская плата: LNVNB161216 | |
Память: 16 гб | |
Видеокарта: Intel(R) Iris(R) Xe Graphics | |
Звук: Realtek High Definition Audio(SST) | |
Монитор: 15,6" | |
Ноутбук/нетбук: LENOVO_ThinkBook 15 G2 ITL | |
ОС: Windows 11 — 64 Pro | |
Прочее: SSD NVMe SAMSUNG MZALQ512HALU-000L2 |
Сообщения: 5070
Благодарности: 798
Сообщения: 94
Благодарности:
Okshef, это не работает.
Итак, вы пришли к выводу, что это недоработка Microsoft в версии 2013?
Последний раз редактировалось okshef, 13-05-2014 в 21:21 .
Сообщения: 16720
Благодарности: 3216
Конфигурация компьютера | |
Процессор: 11th Gen Intel(R) Core(TM) i7-1165G7 | |
Материнская плата: LNVNB161216 | |
Память: 16 гб | |
Видеокарта: Intel(R) Iris(R) Xe Graphics | |
Звук: Realtek High Definition Audio(SST) | |
Монитор: 15,6" | |
Ноутбук/нетбук: LENOVO_ThinkBook 15 G2 ITL | |
ОС: Windows 11 — 64 Pro | |
Прочее: SSD NVMe SAMSUNG MZALQ512HALU-000L2 |
Сообщения: 1
Благодарности:
Нашёл решение:
1. Создаём копию листа в новую книгу.
2. Выделяем "всё" (Ctrl+A) на листе, с которого сделали копию.
3. Копируем в буфер (Ctrl+C или "правый клик"+"Копировать").
4. На первой верхней ячейке на копии листа в новой книге "правый клик" —> "Специальная вставка" —> переключатель на "С исходной темой" —> "Ок".