Выделить активную строку цветом в таблице Excel
Когда приходится работать с большим объемом данных в Excel, где строки сильно растянуты и не умещаются в один экран, сложно сравнить значения в одной и той же строке. Постоянно приходится передвигать горизонтальную полосу прокрутки. Работа была бы более удобной если бы целая активная строка была бы выделена цветом – как курсор на целую строку. Чтобы выделить активную строку или столбец цветом, создадим свою функцию в Excel с помощью макроса и с комбинируем ее с условным форматированием.
Подсветка строки в Excel цветом
Чтобы создать свой широкий курсов на целую строку в Excel, необходимо создать макрос и использовать его вместе с условным форматированием. Для примера создадим таблицу с широкими строками и большим количеством столбцов. Нам нужно выделить строку цветом по условию Excel. Например, если активная ячейка находится в строке 2, тогда выделить цветом всю строку 2 (в пределах таблицы или на весь лист). Для примера создадим таблицу с широкими строками и большим количеством столбцов:
Подсветка текущей строки в Excel цветом:
- Откройте редактор VBA для этого выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.
- В правом окне к активному проекту добавьте новый модуль. Для того в редакторе VBA выберите опцию: «Insert»-«Module»
- В окне модуля вставьте этот VBA-код макроса:

- Не закрывая окно VBA-редактора перейдите на рабочий лист с исходной таблицей. Выделите целую вторую строку таблицы A2:H2 и выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматированных ячеек:».

- В полю ввода введите формулу:

- Щелкните по кнопке «Формат» и на вкладке «Заливка» укажите зеленый цвет. На всех окнах жмем ОК.

- Скопируйте вторую строку таблицы.

- Выделите остальные строки и выберите инструмент: «ГЛАВНАЯ»-«Вставить»-«Специальная вставка»-«Форматы» (или нажмите комбинацию клавиш CTRL+ALT+V, потом отметить форматы и нажать ОК). Или воспользуйтесь инструментом: «ГЛАВНАЯ»-«Буфер обмена»-«Формат по образцу».

- Вернитесь к редактору VBA и в окне «Project» дважды щелкните по «Лист1». В появившемся окне вставьте следующий VBA-код макроса:

- Сохраните и закройте редактор VBA.

В результате происходит выделение строки условным форматированием только там, где находится активная ячейка. Эффект широкого курсора таблицы для комфортного просмотра данных с большим объемом информации. Сделав активной любую ячейку таблицы и сразу же выделяется цветом строка в которой находится данная ячейка.
Полезный вопрос! А как же выделить активный столбец цветом? Аналогичным методом реализовывается с помощью макроса не только подсветка цветом активной строки, но и столбца. Для этого:
- В модуль где находится код подсветки строки VBA-макроса, добавим код новой функции АктивныйСтолбец:

- Добавим новое правило в условном форматировании для нашей таблицы в диапазоне A1:A7. Теперь в новом правиле пишем функцию АктивныйСтолбец(), а вместо функции СТРОКА – СТОЛБЕЦ. И указываем синий цвет форматирования заливки ячейки.

- Проверим все созданные правила для таблицы. Перейдите в ячейку A2 и ввыберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Управление правилами». Диспетчер правил условного форматирования должен выглядеть так:

- Скопируйте формат столбца A1:A7 в остальные столбцы таблицы диапазона B1:H7. Например, с помощью инструмента: «ГЛАВНАЯ»-«Буфер обмена»-«Формат по образцу».

- Результат превышает ожидания. Идеальный курсор для просмотра огромных таблиц с большим количеством данных на множестве строк и столбцов:

Принцип действия создания пользовательского курсора для таблицы
Применяемая в условном форматировании созданная нами функция VBA =АктивнаяСтрока() позволяет нам получить номер текущей строки в которой стала активной любая из ее ячеек. Результат вычисления пользовательской функции =АктивнаяСтрока() сравнивается с результатом функции =СТРОКА(), которая также возвращает номер текущей строки в данном моменте вычисления условного форматирования.
Так как обе функции выполняются при активной ячейке в одной и той же строке их значения равны между собой и возвращают общее логическое значение ИСТИНА. В результате чего происходит выделение строки цветом по условию. Если значение ИСТИНА, тогда присваивается формат цвета для целой активной строки таблицы.
- Excel Formula Examples
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
Подсветка строки или столбца цветом в Excel для активной ячейки
Время от времени бывает удобно иметь возможность выделить (подсветить) активную строку или столбец. Решение в очень простом методе достижения этого эффекта. Мы будем использовать условное форматирование и лишь пару строк кода VBA.
Подсветка цветом строки активной ячейки в Excel
Как всем хорошо известно, с помощью условного форматирования вы можете изменить (выделить) формат ячеек, которые соответствуют определенным критериям. В нашем случае должны быть выделены только те ячейки, которые расположены в той же строке, что и активная ячейка. Исходные данные для примера будут выглядеть так, как показано на рисунке ниже:

Выберите диапазон ячеек B2:K23 так, чтобы ячейка B2 оставалась активной.
Затем выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для форматируемых ячее». В поле «Форматировать значения, для которых следующая формула является истинной:» введите следующую формулу.

Внимание: Адрес ячейки в левой части формулы B2 должен соответствовать АКТИВНОЙ ЯЧЕЙКИ выбранного диапазона в момент выделения! Посмотрите на рисунок ниже. На нем вы можете видеть, что в выбранной области одна ячейка (если вы ничего не напутали, это будет ячейка в верхнем левом углу диапазона) не окрашена (отсутствует синий фон). Эта ячейка является активной ячейкой в момент выделения диапазона. Адрес именно этой ячейки вы должны использовать при условном форматировании. Как вы можете видеть, в нашем примере это ячейка B2.
Запись СТРОКА(B2) = АктивнаяСтрока означает то, что ячейка выбранного диапазона будет отформатирована, если номер строки этой ячейки равен значению, хранящемуся в созданном имени диапазона АктивнаяСтрока.
То, что сейчас вы должны сделать, так это создать это имя и найти способ присвоить ему номер строки активной ячейки. Для начала создайте новое имя (CTRL+F3) и присвойте ему для начала просто значение ноль.

Далее вам нужно каким-то способом изменять значение, присвоенное этому имени, в зависимости от строки, в которой находится активная ячейка. Для этой цели мы будем использовать код VBA.
Запустите редактор VBA (Alt+F11) и для листа (Например, «Пример2»), в котором вы хотите подсвечивать любые строки и где создано условное форматирование , введите код:

Private Sub Worksheet_SelectionChange( ByVal Target As Range)
ActiveWorkbook.Names( «АктивнаяСтрока» ).RefersTo = » #0000ff»>End Sub
Если вы бы хотели, чтобы строки подсвечивались цветом только при перемещении в пределах определенного диапазона, вы можете немного изменить код, который мог бы выглядеть так (для нашего Примера 1):

Private Sub Worksheet_SelectionChange( ByVal Target As Range)
If Not Intersect(Target, Range( «B2:K23» )) Is Nothing Then
ActiveWorkbook.Names( «АктивнаяСтрока» ).RefersTo = » #0000ff»>End If
End Sub
Окончательный результат выглядит так:

Туда где перемещается курсор автоматически подсвечивается цветом целая строка диапазона в месте нахождения активной ячейки.
Подсветка цветом столбца в Excel
Теперь для подсветки цветом целого столбца активной ячейки следует выполнить 2 простых изменения в любом из примеров:
- В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
- Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.
Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.
Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:

В появившемся окне «Диспетчер правил условного форматирования» выберите правило и нажмите на кнопку «Изменить правило»:

Изменяем функцию, вносим желаемые стили оформления формата, которые доступны нам по кнопке «Формат»:

И нажимаем ОК на всех открытых окнах.
Решение изменения 2: Открываем редактор VBA-кода и изменяем только лишь одно свойство для объекта ActiveCell с Row на Column:

Наслаждаемся готовым желаемым результатом:

Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.
- Excel Formula Examples
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
Как сделать чтобы активная ячейка выделялась цветом
Сообщений: 97 Регистрация: 19.06.2015
31.08.2015 22:42:05
Активная ячейка (та, на которую нажали мышкой или просто перешли с помощью стрелочек, клавишей Enter и прочее) должна автоматически выделяться жёлтой заливкой и возвращаться к исходному виду, как только активной становится другая ячейка.
можно ли это сделать и как?
Зачем это нужно:
Когда у вас большая таблица, в ячейках которых похожие тексты, если не присматриваться, и вы, допустим, через поиск Cntrl+F что-то ищете, то найденный результат сложно бывает сразу увидеть, так как выделение ячейки не очень броское. Если же активная ячейка будет автоматически заливаться ярким цветом, то хватит доли секунды, чтобы взглядом найти её.
Буду благодарен всем, кто поможет или попытается!
покупка
Как выделить активную ячейку или выделение в Excel?
Если у вас большой рабочий лист, возможно, вам сложно сразу определить активную ячейку или активный выбор. Но, если активная ячейка / секция имеет выдающийся цвет, узнать это не составит труда. В этой статье я расскажу о том, как автоматически выделять активную ячейку или выбранный диапазон ячеек в Excel.
Выделите активную ячейку или выделение с помощью кода VBA
Следующий код VBA может помочь вам динамически выделить активную ячейку или выделение, пожалуйста, сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.
2. Потом выберите Эта рабочая тетрадь слева Обозреватель проекта, дважды щелкните его, чтобы открыть Модули, а затем скопируйте и вставьте следующий код VBA в пустой модуль:
Код VBA: выделить активную ячейку или выделение
Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range) 'Update 20140923 Static xLastRng As Range On Error Resume Next Target.Interior.ColorIndex = 6 xLastRng.Interior.ColorIndex = xlColorIndexNone Set xLastRng = Target End Sub

3. Затем сохраните и закройте этот код и вернитесь на рабочий лист, теперь, когда вы выбираете ячейку или выделение, выбранные ячейки будут выделены, и они будут динамически перемещаться по мере изменения выбранных ячеек.
Ноты:
1. Если вы не можете найти Панель проводника проекта в окне можно нажать Вид > Обозреватель проекта в Окно Microsoft Visual Basic для приложений чтобы открыть ее.
2. В приведенном выше коде вы можете изменить .Колориндекс = 6 цвет на другой цвет, который вам нравится.
3. Этот код VBA можно применить ко всем листам в книге.
4. Если на вашем листе есть несколько цветных ячеек, цвет будет потерян, когда вы щелкнете по ячейке, а затем перейдете к другой ячейке.
Связанная статья:
