Как изменить цвет фона ячейки vba

Заливка ячейки цветом в VBA Excel. Фон ячейки. Свойства .Interior.Color и .Interior.ColorIndex. Цветовая модель RGB. Стандартная палитра. Очистка фона ячейки.

Заливка ячейки цветом в VBA Excel. Фон ячейки. Свойства .Interior.Color и .Interior.ColorIndex. Цветовая модель RGB. Стандартная палитра. Очистка фона ячейки.

Свойство .Interior.Color объекта Range

Начиная с Excel 2007 основным способом заливки диапазона или отдельной ячейки цветом (зарисовки, добавления, изменения фона) является использование свойства .Interior.Color объекта Range путем присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).

Заливка ячейки цветом в VBA Excel

Пример кода 1:

Sub ColorTest1()

Range(«A1»).Interior.Color = 31569

Range(«A4:D8»).Interior.Color = 4569325

Range(«C12:D17»).Cells(4).Interior.Color = 568569

Cells(3, 6).Interior.Color = 12659

End Sub

Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.

Есть один интересный нюанс: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, заливка всех трех ячеек после выполнения следующего кода будет одинакова:

Sub ColorTest11()

Cells(1, 1).Interior.Color = 12207890

Cells(2, 1).Interior.Color = 16777215 + (12207890)

Cells(3, 1).Interior.Color = 4569325

End Sub

Проверено в Excel 2016.

Вывод сообщений о числовых значениях цветов

Числовые значения цветов запомнить невозможно, поэтому часто возникает вопрос о том, как узнать числовое значение фона ячейки. Следующий код VBA Excel выводит сообщения о числовых значениях присвоенных ранее цветов.

Пример кода 2:

Sub ColorTest2()

MsgBox Range(«A1»).Interior.Color

MsgBox Range(«A4:D8»).Interior.Color

MsgBox Range(«C12:D17»).Cells(4).Interior.Color

MsgBox Cells(3, 6).Interior.Color

End Sub

Вместо вывода сообщений можно присвоить числовые значения цветов переменным, объявив их как Long.

Использование предопределенных констант

В VBA Excel есть предопределенные константы часто используемых цветов для заливки ячеек:

Предопределенная константа Наименование цвета
vbBlack Черный
vbBlue Голубой
vbCyan Бирюзовый
vbGreen Зеленый
vbMagenta Пурпурный
vbRed Красный
vbWhite Белый
vbYellow Желтый
xlNone Нет заливки

Присваивается цвет ячейке предопределенной константой в VBA Excel точно так же, как и числовым значением:

Пример кода 3:

Range(«A1»).Interior.Color = vbGreen

Цветовая модель RGB

Цветовая система RGB представляет собой комбинацию различных по интенсивности основных трех цветов: красного, зеленого и синего. Они могут принимать значения от 0 до 255. Если все значения равны 0 — это черный цвет, если все значения равны 255 — это белый цвет.

Выбрать цвет и узнать его значения RGB можно с помощью палитры Excel:

Палитра Excel

Палитра Excel

Чтобы можно было присвоить ячейке или диапазону цвет с помощью значений RGB, их необходимо перевести в десятичное число, обозначающее цвет. Для этого существует функция VBA Excel, которая так и называется — RGB.

Пример кода 4:

Range(«A1»).Interior.Color = RGB(100, 150, 200)

Список стандартных цветов с RGB-кодами смотрите в статье: HTML. Коды и названия цветов.

Очистка ячейки (диапазона) от заливки

Для очистки ячейки (диапазона) от заливки используется константа xlNone:

Range(«A1»).Interior.Color = xlNone

Свойство .Interior.ColorIndex объекта Range

До появления Excel 2007 существовала только ограниченная палитра для заливки ячеек фоном, состоявшая из 56 цветов, которая сохранилась и в настоящее время. Каждому цвету в этой палитре присвоен индекс от 1 до 56. Присвоить цвет ячейке по индексу или вывести сообщение о нем можно с помощью свойства .Interior.ColorIndex:

Пример кода 5:

Range(«A1»).Interior.ColorIndex = 8

MsgBox Range(«A1»).Interior.ColorIndex

Просмотреть ограниченную палитру для заливки ячеек фоном можно, запустив в VBA Excel простейший макрос:

Пример кода 6:

Sub ColorIndex()

Dim i As Byte

For i = 1 To 56

Cells(i, 1).Interior.ColorIndex = i

Next

End Sub

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

Подробнее о стандартной палитре Excel смотрите в статье: Стандартная палитра из 56 цветов, а также о том, как добавить узор в ячейку.


As part of a VBA program, I have to set the background colors of certain cells to green, yellow or red, based on their values (basically a health monitor where green is okay, yellow is borderline and red is dangerous).

I know how to set the values of those cells, but how do I set the background color.

asked Dec 13, 2008 at 11:39

paxdiablo's user avatar

paxdiablopaxdiablo

839k230 gold badges1561 silver badges1929 bronze badges

You can use either:

ActiveCell.Interior.ColorIndex = 28

or

ActiveCell.Interior.Color = RGB(255,0,0)

answered Dec 13, 2008 at 11:43

Vinko Vrsalovic's user avatar

Vinko VrsalovicVinko Vrsalovic

326k53 gold badges332 silver badges370 bronze badges

2

This is a perfect example of where you should use the macro recorder. Turn on the recorder and set the color of the cells through the UI. Stop the recorder and review the macro. It will generate a bunch of extraneous code, but it will also show you syntax that works for what you are trying to accomplish. Strip out what you don’t need and modify (if you need to) what’s left.

answered Apr 18, 2012 at 2:34

Jon Crowell's user avatar

Jon CrowellJon Crowell

21.3k14 gold badges88 silver badges110 bronze badges

Do a quick ‘record macro’ to see the color number associated with the color you’re looking for (yellow highlight is 65535). Then erase the code and put

Sub Name()
Selection.Interior.Color = 65535 '(your number may be different depending on the above)
End Sub

answered Mar 4, 2020 at 15:07

Matt G's user avatar

1

or alternatively you could not bother coding for it and use the ‘conditional formatting’ function in Excel which will set the background colour and font colour based on cell value.

There are only two variables here so set the default to yellow and then overwrite when the value is greater than or less than your threshold values.

answered Dec 30, 2008 at 12:34

It doesn’t work if you use Function, but works if you Sub. However, you cannot call a sub from a cell using formula.

answered Mar 22, 2015 at 18:08

user4700453's user avatar

0

Skip to content

Change Background Color of Cell Range in Excel VBA

Home » Excel VBA » Change Background Color of Cell Range in Excel VBA

Effortlessly
Manage Your Projects

120+ Project Management Templates

Seamlessly manage your projects with our powerful & multi-purpose templates for project management.

120+ PM Templates Includes:
  • Change background colur- excel vba

Description:

It is an interesting feature in excel, we can change background color of Cell, Range in Excel VBA. Specially, while preparing reports or dashboards, we change the backgrounds to make it clean and get the professional look to our projects.

Change Background Color of Cell Range in Excel VBA – Solution(s):

Delete Worksheet in Excel VBA
We can use Interior.Color OR Interior.ColorIndex properties of a Rage/Cell to change the background colors.

Change Background Color of Cell Range in Excel VBA – Examples

The following examples will show you how to change the background or interior color in Excel using VBA.

Example 1

In this Example below I am changing the Range B3 Background Color using Cell Object

Sub sbRangeFillColorExample1()

'Using Cell Object
Cells(3, 2).Interior.ColorIndex = 5 ' 5 indicates Blue Color

End Sub
Example 2

In this Example below I am changing the Range B3 Background Color using Range Object

Sub sbRangeFillColorExample2()

'Using Range Object
Range("B3").Interior.ColorIndex = 5

End Sub
Example 3

We can also use RGB color format, instead of ColorIndex. See the following example:

Sub sbRangeFillColorExample3()
'Using Cell Object
Cells(3, 2).Interior.Color = RGB(0, 0, 250)

'Using Range Object
Range("B3").Interior.Color = RGB(0, 0, 250)

End Sub
Example 4

The following example will apply all the colorIndex form 1 to 55 in Activesheet.

Sub sbPrintColorIndexColors()
Dim iCntr

For iCntr = 1 To 56
    Cells(iCntr, 1).Interior.ColorIndex = iCntr
    Cells(iCntr, 1) = iCntr
Next iCntr

End Sub
Instructions:
  1. Open an excel workbook
  2. Press Alt+F11 to open VBA Editor
  3. Insert a new module from Insert menu
  4. Copy the above code and Paste in the code window
  5. Save the file as macro enabled workbook
  6. Press F5 to execute the procedure
  7. You can see the interior colors are changing as per our code

Change Background Color of Cell Range in Excel VBA – Download: Example File

Here is the sample screen-shot of the example file.

Change Background Color of Cell Range in Excel VBA

Download the file and explore how to change the interior or background colors in Excel using VBA.

ANALYSIS TABS – ColorIndex

Effortlessly Manage Your Projects and Resources
120+ Professional Project Management Templates!

A Powerful & Multi-purpose Templates for project management. Now seamlessly manage your projects, tasks, meetings, presentations, teams, customers, stakeholders and time. This page describes all the amazing new features and options that come with our premium templates.

Save Up to 85% LIMITED TIME OFFER
Excel VBA Project Management Templates
All-in-One Pack
120+ Project Management Templates
Essential Pack
50+ Project Management Templates

Excel Pack
50+ Excel PM Templates

PowerPoint Pack
50+ Excel PM Templates

MS Word Pack
25+ Word PM Templates

Ultimate Project Management Template

Ultimate Resource Management Template

Project Portfolio Management Templates

3 Comments

  1. Harbinder Singh
    April 13, 2017 at 12:23 PM — Reply

    need help in excel

    In company there are 10000 employee and all having duty in A shift, B shift, C shift. Each shift of 08 hrs

    i have to find those employee who work continuous 10 days or more then 10 days

    please help me to find the solution using VB macro in excel or any other way to find from huge no of data in excel

    Kindly provide me the solution.

  2. RandomOne
    May 23, 2017 at 5:46 AM — Reply

    Harbinder Singh
    its dependes of your database, can check with a vba code for filter based on the criteria, select the range and then color it,
    Regards!

  3. Ken Schleede
    July 10, 2019 at 6:44 AM — Reply

    Thanks! This is excellent. It allows me to control the colors much more reliably than conditional formatting.

Effectively Manage Your
Projects and  Resources

With Our Professional and Premium Project Management Templates!

ANALYSISTABS.COM provides free and premium project management tools, templates and dashboards for effectively managing the projects and analyzing the data.

We’re a crew of professionals expertise in Excel VBA, Business Analysis, Project Management. We’re Sharing our map to Project success with innovative tools, templates, tutorials and tips.

Project Management
Excel VBA

Download Free Excel 2007, 2010, 2013 Add-in for Creating Innovative Dashboards, Tools for Data Mining, Analysis, Visualization. Learn VBA for MS Excel, Word, PowerPoint, Access, Outlook to develop applications for retail, insurance, banking, finance, telecom, healthcare domains.

Analysistabs Logo

Page load link

Go to Top

В данном примере описаны макросы для автоматического форматирования или спроса формата для ячеек таблиц Excel средствами VBA.

VBA-макрос: заливка, шрифт, линии границ, ширина столбцов и высота строк

В процессе запыления данных сотрудниками отдела на некоторых листах были изменены форматы ячеек:

запыления планов работ.

Необходимо сбросить форматирование ячеек и сделать так чтобы на всех таблицах планов выполнения работ были одинаковые форматы отображения данных. Формат ячеек для исходной таблицы должен быть закреплен за шаблоном, чтобы можно было сделать сброс и применять заданный стиль оформления в дальнейшем.

Чтобы выполнять такие задачи вручную можно попытаться облегчить процесс настройки множества опций форматирования для многих диапазонов ячеек на разных листах и рабочих книгах. Плюс к о всему можно ошибиться и применить несколько другие настройки форматирования.

Макросы Excel прекрасно справляются с форматированием ячеек на рабочих листах. Кроме того, делают это быстро и в полностью автоматическом режиме. Воспользуемся этими преимуществами и для решения данной задачи напишем свой код VBA-макроса. Он поможет нам быстро и безопасно сбрасывать форматы на исходный предварительно заданный в шаблоне главной таблицы.

Чтобы написать свой код макроса откройте специальный VBA-редактор в Excel: «РАЗРАБОТЧИК»-«Код»-«Visual Basic» или нажмите комбинацию клавиш ALT+F11:

Код Visual Basic.

В редакторе создайте новый модуль выбрав инструмент «Insert»-«Module» и введите в него такой VBA-код макроса:

Sub SbrosFormat()
If TypeName(Selection) <> "Range" Then Exit Sub
With Selection
.HorizontalAlignment = xlVAlignCenter
.VerticalAlignment = xlVAlignCenter
.WrapText = True
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThin
.Font.ColorIndex = xlColorIndexAutomatic
.Interior.ColorIndex = xlColorIndexAutomatic
.Columns.AutoFit
.Rows.AutoFit
End With
End Sub

VBA-код макроса.

Теперь если нам нужно сбросить форматирование таблицы на исходный формат отображения ее данных, выделите диапазон ячеек A1:E20 и запустите макрос: «РАЗРАБОЧТИК»-«Код»-«Макросы»-«SbrosFormat»-«Выполнить». Результат работы макроса изображен ниже на рисунке:

сбросить форматирование таблицы на исходный формат.

Таблица приобрела формат, который определен макросом. Таким образом код VBA нам позволяет сбросить любые изменения формата ячеек на предустановленный автором отчета.



Описание VBA-макроса для формата ячеек таблицы Excel

Первая инструкция в коде, проверяет выделены ли ячейки диапазоном. Если перед выполнением макроса выделил другой элемент листа, например, график, тогда макрос закрывается и дальнейшие инструкции выполняться не будут. В противные случаи будут форматироваться все выделенные ячейки по очереди в соответствии с определенными настройками форматирования:

  1. Текст в значениях ячеек выравнивается по центру горизонтально и вертикально.
  2. Включен построчный перенос текста.
  3. Все границы ячеек получают черную обычной толщины непрерывную линию с черным цветом.
  4. Сброс цвета шрифта на авто.
  5. Удаляется любая заливка ячеек.
  6. Ширина столбцов автоматически настраивается под текст в ячейках.
  7. Автоматически настроить высоту строк по содержимому ячеек.

Модификация исходного кода макроса для форматирования

Если необходимо сделать так чтобы текст выравнивался не по центру относительно горизонтали, а по правую сторону ячейки, тогда измените константу xlHAlignCenter на xlHAlignRight. Она находиться в свойстве .HorizontalAlignment. Сделайте это следующим образом:

.HorizontalAlignment = xlHAlignRight.

Таким же образом можно выровнять текст по левую сторону изменив значение константы на xlHAlignLeft. Или можно выровнять положение текста по ширине ячейки используя константу xlHAlignJustify.

Чтобы макрос выравнивал текст в ячейках по вертикали к низу, измените строку кода, отвечающую за данную настройку форматирования. Измените константу, которая присваивается к свойству VerticalAlignment в следующий способ:

Если хотите выровнять текс к верху ячейки, тогда воспользуйтесь константой xlHAlignTop.

Если нужно применить для границ ячеек толстую и пунктирную линию в синем цвете, смодифицируйте инструкцию, отвечающую за формат линий:

.Borders.LineStyle = xlDash

.Borders.Color = vbBlue

.Borders.Weight = xlMedium

Описание настройки форматирования для линий границ ячеек. Мы будем получать разные дополнительные типы линий границ если для свойства LineStyle присваивать такие константы:

  • xlDoshDot – применяется для рисования пунктирных линий в границах ячеек;
  • xlDouble – рисует двойную линию;
  • xlHairLine – рисует тонкую линию;
  • xlThick – для рисования очень толстой линии.

Для настройки цвета линий Excel предлагает всего 8 констант для определенных цветов. Константы для настройки цвета линий границ для свойства Color:

  • vbBlack – черный;
  • vbWhite – белый;
  • vbRed – красный;
  • vbGreen –зеленый;
  • vbBlue – синий;
  • vbYellow – желтый;
  • vbMagenta – алый;
  • vbCyan – голубой.

Но при необходимости присвоить линиям границ другие цвета можно вместо константы для свойства Color записать функцию RGB(). Достаточно лишь в аргументе этой функции указать код цвета по шкале от 0 и до 255.

Если нужно применить толстую линию только для границ выделенного диапазона, тогда перед инструкцией End With добавьте следующую строку кода:

.BorderAround xlContinuous, xlMedium, vbBlack

Описание: В первом аргументе для метода BorderAround можно записать также другой стиль линии. Во втором – толщину линии, а в третьем – цвет. Константы, которые можно присвоить в качестве значений для этих аргументов можно использовать те же, которые мы использовали для свойств: LineStyle, Weight, Color.

Если нужно экспонировать первую строку для выделенного диапазона с помощью жирного и курсивного шрифта значений ячеек. А также заполнить ячейки первой строки заливкой с голубым цветом, тогда в самом конце кода макроса перед последней инструкцией End Sub следует добавить несколько строк с VBA-кодом:

.Rows(1).Font.Bold = True

.Rows(1).Font.Italic = True

.Rows(1).Interior.Color = vbCyan

Если хотите присвоить такой же формат для не только для первой строки, но и для первого столбца выделенного диапазона, тогда скопируйте и вставьте ниже эти 3 строчки кода. После в последних трех строках измените свойство Rows на Columns.

.Columns (1).Font.Bold = True

.Columns (1).Font.Italic = True

.Columns (1).Interior.Color = vbCyan

Если нужно задать особенный формат для экспонирования последней строки выделенного диапазона, тогда измените число 1 в аргументе свойства Rows на число всех выделенных строк .Rows.Count. Например, добавьте в конец кода еще такую строку:

.Rows(.Rows.Count).Font.Bold = True

Полная версия модифицированного кода макроса выглядит так:

Sub SbrosFormat()
If TypeName(Selection) <> "Range" Then Exit Sub
With Selection
.HorizontalAlignment = xlVAlignCenter
.VerticalAlignment = xlVAlignCenter
.WrapText = True
.Borders.LineStyle = xlDash
.Borders.Color = vbBlue
.Borders.Weight = xlMedium
.Font.ColorIndex = xlColorIndexAutomatic
.Interior.ColorIndex = xlColorIndexAutomatic
.Columns.AutoFit
.Rows.AutoFit
.BorderAround xlContinuous, xlMedium, vbBlack
.Rows(1).Font.Bold = True
.Rows(1).Font.Italic = True
.Rows(1).Interior.Color = vbCyan
.Columns(1).Font.Bold = True
.Columns(1).Font.Italic = True
.Columns(1).Interior.Color = vbCyan
.Rows(.Rows.Count).Font.Bold = True
End With
End Sub

Пример работы измененного кода VBA-макроса:

Пример после изменений в коде.

В данном примере вы ознакомились с базовыми возможностями форматирования с помощью VBA-макросов. Уверен, что теперь вы сможете самостоятельно найти практическое применение этим исходным кодам.

Цвет Excel VBA RGB

RGB также может называться красным, зеленым и синим, эта функция используется для получения числового значения значения цвета, эта функция имеет три компонента в виде именованного диапазона, и это красный, синий и зеленый, другие цвета рассматриваются как компоненты эти три разных цвета в VBA.

В VBA все сводится к кодированию каждой части. Например, если вы хотите сослаться на какую-то часть рабочего листа, мы можем использовать объект RANGE. Если вы хотите изменить цвет шрифта, то мы можем использовать свойство NAME диапазона, затем написать имя шрифта, которое нам нужно, но представьте ситуацию изменения цвета шрифта или цвета фона ячейки для этого, мы можно использовать встроенные цвета VB, такие как vbGreen, vbBlue, vbRed и т. д. Но у нас есть специальная функция для игры с разными цветами, т. е. функция RGB.

VBA-RGB

Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоСсылка на статью должна быть гиперссылкой
Например:
Источник: VBA RGB (wallstreetmojo.com)

Ниже приведен синтаксис функции цвета RGB.

Синтаксис VBA RGB

Как вы можете видеть выше, мы можем предоставить три аргумента, то есть красный, зеленый и синий. Все эти три параметра могут принимать только целые числа в диапазоне от 0 до 255, и результатом этой функции будет тип данных «Длинный».

Изменить цвет ячеек с помощью функции VBA RGB

Вы можете скачать этот шаблон VBA RGB Excel здесь — Шаблон VBA RGB Excel

Пример №1

Например, у нас есть числа от ячейки A1 до A8, как показано на изображении ниже.

Пример VBA RGB 1

Для этого диапазона ячеек мы попытаемся изменить цвет шрифта на какой-нибудь случайный цвет с помощью функции RGB.

Сначала запустите процедуру макроса.

Код:

Sub RGB_Example1()

End Sub

Пример VBA RGB 1.0

Во-первых, нам нужно указать диапазон ячеек шрифтов, цвет которых мы хотим изменить. В данном случае наш диапазон ячеек — от A1 до A8, поэтому укажите то же самое, используя ДИАПАЗОН объект.

Код:

Sub RGB_Example1()

  Range ("A1:A8")

End Sub

Пример 1.2

Поставьте точку, чтобы увидеть список IntelliSense объекта RANGE. Из списка IntelliSense мы пытаемся изменить цвет шрифта, поэтому выбираем ШРИФТ свойство из списка.

Код:

Sub RGB_Example1()

  Range("A1:A8").Font

End Sub

Пример VBA RGB 1.3

Как только в этом свойстве было выбрано свойство FONT, мы пытаемся изменить цвет, поэтому выберите свойство цвета шрифта.

Код:

Sub RGB_Example1()

  Range("A1:A8").Font.Color

End Sub

Пример 1.4

Поставьте знак равенства и откройте функцию RGB.

Код:

Sub RGB_Example1()

  Range("A1:A8").Font.Color = RGB(

End Sub

Пример VBA RGB 1.5

Задайте случайные целые числа в диапазоне от 0 до 255 для всех трех аргументов функции RGB.

Код:

Sub RGB_Example1()

  Range("A1:A8").Font.Color = RGB(300, 300, 300)

End Sub

  Пример 1.9

Хорошо, теперь запустите код и посмотрите результат цветов шрифта ячеек от A1 до A8.

Вывод:

Пример VBA RGB 1.7.0

Итак, цвета шрифта изменились с черного на какой-то другой. Цвет зависит от чисел, которые мы даем функции RGB.

Ниже приведены цветовые коды RGB, чтобы получить некоторые из распространенных цветов.

Пример 1.8

Вы можете просто изменить комбинацию целых чисел от 0 до 255, чтобы получить разные цвета.

Пример #2

Для того же диапазона ячеек посмотрим, как изменить цвет фона этих ячеек.

Во-первых, укажите диапазон ячеек, используя ДИАПАЗОН объект.

Код:

Sub RGB_Example2()

  Range ("A1:A8").

End Sub

Пример VBA RGB 2

На этот раз мы меняем цвет фона упомянутых ячеек, поэтому теперь мы не имеем ничего общего со свойством FONT, чтобы изменить цвет фона, выберите «Интерьер» свойство объекта RANGE.

Код:

Sub RGB_Example2()

  Range("A1:A8").Interior

End Sub

Пример 2.1

После выбора свойства «Интерьер» поставьте точку, чтобы увидеть свойства и методы этого свойства «Интерьер».

Код:

Sub RGB_Example2()

  Range("A1:A8").Interior.

End Sub

Пример VBA RGB 2.2

Поскольку мы меняем внутренний цвет упомянутых ячеек, выберите «Цвет» имущество.

Код:

Sub RGB_Example2()

  Range("A1:A8").Interior.Color

End Sub

Пример 2.3

Чтобы установить свойство внутреннего цвета диапазона ячеек (от A1 до A8), уберите знак равенства и откройте функцию RGB.

Код:

Sub RGB_Example2()

  Range("A1:A8").Interior.Color = RGB(

End Sub

Пример VBA RGB 2.4

Введите случайное число, как вы хотите.

Код:

Sub RGB_Example2()

  Range("A1:A8").Interior.Color = RGB(0, 255, 255)

End Sub

Пример 2.6

Запустите код и увидите цвет фона.

Вывод:

Пример VBA RGB 2.5.0

Цвет фона изменен.

Что нужно помнить здесь

  • RGB означает красный, зеленый и синий.
  • Сочетание этих трех цветов даст разные цвета.
  • Все эти три параметра могут принимать целочисленные значения только от 0 до 255. Любые числа выше этого будут сброшены до 255.

УЗНАТЬ БОЛЬШЕ >>

Post Views: 1 035

Содержание

  • Список кодов индекса цвета VBA
  • Свойство цвета VBA
  • Цвет VB
  • Цвета RGB
  • Список кодов ColorIndex и цвета RGB в Access VBA

При использовании VBA для кодирования Colorindex (или цвета фона) ячейки полезно знать, какое целое число будет равно какому цвету. Ниже приведено справочное изображение, на котором показан цвет и указан соответствующий ему Colorindex. он же Цветовая палитра VBA

Вот код, чтобы сделать его для себя или просто добавить эту страницу в закладки:

123456789101112131415 Sub ColorRef ()Dim x As IntegerДля x = от 1 до 56Если x <ТоCells (x, 1) .Interior.ColorIndex = xЯчейки (x, 2) = xЕщеЯчейки (x — 28, 3) .Interior.ColorIndex = xЯчейки (x — 28, 4) = xКонец, еслиДалее xКонец подписки

Примеры VBA ColorIndex

Установить цвет фона ячейки

1 Диапазон («A1»). Interior.ColorIndex = 6

Установить цвет шрифта ячейки

1 Диапазон («A1»). Font.ColorIndex = 5

Установить цвет границ ячеек

1 Диапазон («A1»). Borders.ColorIndex = 5

Получить индекс цвета фона ячейки

123 Dim col как целое числоcol = Range («A1»). Interior.ColorIndex

Установите цвет фона ячейки на цвет другой ячейки

1 Диапазон («A1»). Interior.ColorIndex = Range («B1»). Interior.ColorIndex

Свойство цвета VBA

Вместо использования свойства ColorIndex Excel / VBA вы можете использовать свойство Color. Свойство Color принимает два типа ввода:

  1. vbColor
  2. Цвета RGB

Мы обсудим это ниже:

Цвет VB

VB Color — самый простой способ установить цвета в VBA. Однако он также наименее гибкий. Чтобы установить цветовой код с помощью vbColor, используйте таблицу ниже:

Однако, как видно из таблицы, ваши возможности крайне ограничены.

Установить цвет фона ячейки

1 Диапазон («A1»). Interior.Color = vbYellow

Установить цвет шрифта ячейки

1 Диапазон («A1»). Font.Color = vbBlue

Установить цвет границ ячеек

1 Диапазон («A1»). Borders.Color = vbRed

Установите цвет фона ячейки на цвет другой ячейки

1 Диапазон («A1»). Interior.Color = Range («B1»). Interior.Color

Цвета RGB

RGB означает красный зеленый синий. Это три основных цвета, которые можно комбинировать для получения любого другого цвета. При вводе цветов как RGB введите значение от 0 до 255 для каждого цветового кода.

Вот пример:

1 Диапазон («A1»). Interior.Color = RGB (255,255,0)

Выше мы установили красный = 255 (максимальное значение), зеленый = 255 (максимальное значение) и синий = 0 (минимальное значение). Это устанавливает желтый цвет фона ячейки.

Вместо этого мы можем установить цвет шрифта ячейки на фиолетовый:

1 Диапазон («A1»). Interior.Color = RGB (128,0,128)

Существует множество онлайн-инструментов для поиска кода RGB для желаемого цвета (вот один).

Список кодов ColorIndex и цвета RGB в Access VBA

Access использует формы для отображения данных. Коды ColorIndex можно использовать для программного изменения цвета фона и цвета переднего плана объектов в формах Access.

12345 Частная подпрограмма cmdSave_Click ()’изменить цвет фона кнопки сохранения при сохранении записи.DoCmd.RunCommand acCmdSaveRecordcmdSave.BackColor = vbGreenКонец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

В этой статье будут показаны некоторые методы изменения цвета ячейки при нажатии на ячейку и изменение выделенного цвета при выборе диапазона ячеек в Excel.

Изменить цвет ячейки при нажатии на ячейку с кодом VBA
Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel


Изменить цвет ячейки при нажатии на ячейку с кодом VBA

Здесь вы можете изменить цвет фона ячейки, дважды щелкнув по ней или щелкнув правой кнопкой мыши с помощью следующего кода VBA.

1. На рабочем листе вы измените цвет ячейки при нажатии на нее, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код из контекстного меню.

2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.

VBA: изменить цвет ячейки при нажатии на нее

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.Color = vbRed
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.Color = vbGreen
End Sub

3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

Затем, когда вы дважды щелкните ячейку, она будет окрашена в красный цвет. И когда вы щелкаете правой кнопкой мыши по ячейке, она будет окрашена в зеленый цвет. Смотрите скриншот:



Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA

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

1. Щелкните правой кнопкой мыши вкладку листа, для которой нужно изменить цвет выделения выбранного диапазона, и щелкните Просмотреть код из контекстного меню.

2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.

Код VBA: изменить выделенный цвет выбранного диапазона

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        .Worksheet.Cells.FormatConditions.Delete
        .FormatConditions.Add xlExpression, , "TRUE"
        .FormatConditions(1).Interior.Color = vbYellow
    End With
End Sub

3. Нажмите другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

С этого момента цвет выделенного диапазона или ячейки изменится на желтый. Когда вы щелкаете другую ячейку или диапазон ячеек, ячейки будут раскрашены автоматически.


Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel

Если вы имеете дело с большим листом, необходимо выделить всю строку и столбец активной ячейки, чтобы облегчить чтение. Здесь Макет для чтения полезности Kutools for Excel могу помочь тебе.

1. Нажмите Кутулс > Макет для чтения. Смотрите скриншот:

Когда макет чтения включен, вы можете видеть, что строка и столбец активной ячейки сразу выделяются.

Внимание: Вы можете изменить настройки макета чтения в зависимости от ваших потребностей, как показано на скриншоте ниже.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить цвет фона ячеек таблицы
  • Как изменить цвет фона экрана телефона
  • Как изменить цвет фона экрана монитора на компьютере
  • Как изменить цвет фона фотографии на айфоне
  • Как изменить цвет фона ткинтер

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии