Координатное выделение строки и столбца

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

Подсветка цветом строки активной ячейки в Excel

Как всем хорошо известно, с помощью условного форматирования вы можете изменить (выделить) формат ячеек, которые соответствуют определенным критериям. В нашем случае должны быть выделены только те ячейки, которые расположены в той же строке, что и активная ячейка. Исходные данные для примера будут выглядеть так, как показано на рисунке ниже:

Исходные данные.

Выберите диапазон ячеек B2:K23 так, чтобы ячейка B2 оставалась активной.

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

=СТРОКА(B2)=АктивнаяСтрока

Форматировать значения.

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

Запись СТРОКА(B2) = АктивнаяСтрока означает то, что ячейка выбранного диапазона будет отформатирована, если номер строки этой ячейки равен значению, хранящемуся в созданном имени диапазона АктивнаяСтрока.

То, что сейчас вы должны сделать, так это создать это имя и найти способ присвоить ему номер строки активной ячейки. Для начала создайте новое имя (CTRL+F3) и присвойте ему для начала просто значение ноль.

создайте новое имя.

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

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

редактор VBA.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.Names(“АктивнаяСтрока”).RefersTo = “=” & ActiveCell.Row

End Sub

Если вы бы хотели, чтобы строки подсвечивались цветом только при перемещении в пределах определенного диапазона, вы можете немного изменить код, который мог бы выглядеть так (для нашего Примера 1):

немного изменить код.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range(“B2:K23”)) Is Nothing Then
ActiveWorkbook.Names(“АктивнаяСтрока”).RefersTo = “=” & ActiveCell.Column

End IfEnd Sub

Окончательный результат выглядит так:

Подсветка цветом строки.

Туда где перемещается курсор автоматически подсвечивается цветом целая строка диапазона в месте нахождения активной ячейки.

Описание проблемы

Мне часто приходится работать с “широкими” таблицами, которые не помещаются на экран. Поэтому при перемещении влево вправо глаза теряют текущую строку. Ее приходится долго искать и перепроверять в правильную ли строку вводятся данные. Чтобы этого избежать можно подсвечивать активную строку и столбец. Сделать это удобно с помощью надстройки VBA-Excel.

Вот так работает эта функция.

Координатное выделение строки и столбца в Excel

Применение полос к строкам или столбцам с помощью условного форматирования

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

Диапазон данных с цветом заливки для чередующихся строк и столбцов с применением правила условного форматирования.

Вот как это сделать:

  1. На листе выполните одно из указанных ниже действий.

    • Чтобы применить затенение к определенному диапазону ячеек, выберите ячейки, которые необходимо отформатировать.

    • Чтобы применить затенение ко всему листу, нажмите кнопку Выделить все.

      Кнопка "Выделить все" на листе

  2. На вкладке Главная нажмите кнопку Условное форматирование и выберите команду Создать правило.

    Кнопка "Условное форматирование"в диалоговом окне "Создать правило".

  3. В списке Выберите тип правила выберите пункт Использовать формулу для определения форматируемых ячеек.

  4. Чтобы применить цвет к чередующимся строкам, в поле Форматировать значения, для которых следующая формула является истинной введите формулу =ОСТАТ(СТРОКА();2)=0.

    Чтобы применить цвет к чередующимся столбцам, введите формулу =ОСТАТ(СТОЛБЕЦ();2)=0.

    Эти формулы определяют, является ли строка (или столбец) четной или нечетной, чтобы можно было применить соответствующий цвет.

  5. Нажмите кнопку Формат.

  6. В окне Формат ячеек откройте вкладку Заливка.

  7. Выберите цвет и нажмите кнопку ОК.

  8. Выбранный цвет показан в поле Образец. Нажмите кнопку ОК или выберите другой цвет.

    Советы: 

    • Вот как можно изменить правило условного форматирования: щелкните одну из ячеек, к которым оно применяется, на вкладке Главная последовательно выберите команды Условное форматирование > Управление правилами, нажмите кнопку Изменить правило и внесите необходимые изменения.

    • Чтобы удалить условное форматирование из ячеек, выделите их и на вкладке Главная последовательно выберите команды Очистить > Очистить форматы.

      параметр очистки формата

    • Чтобы скопировать условное форматирование в другие ячейки, щелкните одну из тех ячеек, к которым оно применено, на вкладке Главная нажмите кнопку Формат по образцу Кнопка "Формат по образцу" и щелкните ячейки, которые хотите отформатировать.

Нужна дополнительная помощь?

Выделение по условию целиком строки или столбца.

Выделение строки.

В нашем распоряжении – таблица Excel с информацией о продажах в различные страны. Давайте попробуем выделить определенные строки с продажами в Бразилию. То есть, окраска их должна изменяться в связи с тем, что записано в колонке «Страна».

Прежде всего выделяем при помощи мыши весь диапазон интересующих нас данных – A2:D21. Шапку таблицы выделять не нужно. Затем действуем по уже отработанной схеме: вызываем меню функции и выбираем последний пункт – «Использовать формулу для определения форматируемых ячеек» (1). Далее записываем выражение (2):

=$C2 = «Бразилия»

Мы должны закрасить вторую строку таблицы в зависимости от значения в С2. Здесь есть маленькая хитрость.

Обратите внимание, что абсолютная ссылка (знак $) установлена здесь только на столбец С. То есть, мы проверяем на условие «Бразилия» в выделенном нами диапазоне все позиции в этом столбце, то есть С2, С3, C4 и так далее. А вот закрашивать будем всю строку, так как ранее выделена была вся таблица. Для этого выбираем вариант оформления (3): цвет фона или шрифта, либо оба.

Напомню, что знак $, стоящий перед буквой столбца, означает абсолютную ссылку на этот столбец. А если знак $ находится перед цифрой, то абсолютная ссылка установлена на строку.

Вывод. Условное форматирование строки по значению ячейки основано на грамотном применении абсолютных и относительных ссылок в правиле форматирования. В используемой формуле должна быть абсолютная ссылка на столбец и относительная — на строку ($C2). При этом как область форматирования должна быть обозначена вся таблица (без шапки).

Выделение столбца.

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

Тем не менее, давайте рассмотрим пример с выделением по условию столбцов таблицы.

Итак, у нас есть табель рабочих смен. Нужно красным указать в нем на субботы и воскресенья.

Как и в предыдущем примере, определим для начала диапазон, который мы будем форматировать: =$B$3:$S$7. И вновь будем использовать формулу (2) для определения условия.

=ДЕНЬНЕД(B$2;2)>5

Функция ДЕНЬНЕД позволяет определить номер дня недели по указанной дате. Цифра 2 означает, что используется привычный нам порядок, когда первый день недели – это понедельник.

Таким образом, если номер окажется больше 5 (то есть, это будет суббота или воскресенье), то необходимо применить указанный нами формат (3) и закрасить выходной день.

Все просто, но обратите внимание на одну важную деталь: знаком $ в ссылке мы фиксируем номер. Тем самым мы указываем программе, что надо последовательно перемещаться по второй строке в пределах указанного диапазона, и определять номер дня недели. И после этого применять формат к столбцу.

Способ 1. Макрос

Давайте подумаем каким образом макрос должен производить перекрестное отображение данных на листе.

Во-первых, нам необходимы 2 макроса, которые будут включать или отключать опцию отображения.
Это пригодится нам для удобства работы, чтобы выделение работало исключительно в нужные моменты (при поиске) и не мешало работать в остальных (при вводе формул, создании графиков и т.д.)

Во-вторых, нам нужен сам макрос выделения строк и столбцов для ячейки. Соответственно, постоянно работает при включении опции отображения и не работает при отключенной опции.

Перейдем в редактор Visual Basic (быстрый переход с помощью комбинации клавиш Alt + F11).
Далее добавим в исходный код листа (в левой части панели выбираете нужный лист, правой кнопкой мышки щелкаете по нему и выбираете View Code) вставляем туда следующий код:

Возвращаемся в Excel. Для начала работы координатного пересечения необходимо включить опцию отображения, для этого открываем окно с макросами (сочетание клавиш Alt + F8) и запускаем макрос Coordinate_Selection_On (для отключения опции запускаем Coordinate_Selection_Off).

Все готово (не забудьте сначала запустить макрос Coordinate_Selection_On):

koordinatnoe-vydelenie-yachejki-2.gif
Из плюсов данного способа можно выделить простоту реализации, а к минусам — проблемы с отображением при наличии объединенных ячеек.

Теперь перейдем к альтернативной реализации.

Задача1 — текстовые значения

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

Как включить подсветку текущей строки и столбца

Координатное выделение включается очень просто: перейдите на вкладку надстройки VBA-Excel и в меню Подсветка выберите Включить перекрестное выделение.

Как включить координатное выделение в Excel

Подсветка автоматически будет работать во всех книгах и на всех листах до тех пор пока вы не нажмете команду Отключить перекрестное выделение или не закроете книгу.

Выделение через строку.

Думаю, вам часто встречалось красивое оформление таблицы, когда строчки через одну были выделены. Конечно, такое оформление легко доступно, если преобразовать данные в «умную» таблицу. Но такое возможно только в Excel 2007 и более поздних версиях. Если же у вас старая версия программы, то наш способ вам очень даже может пригодиться.

Итак, возьмем для примера небольшую таблицу.

Выделим диапазон A1:D18.

Затем создаем новое правило при помощи формулы

=ОСТАТ(СТРОКА();2)=0

В чем ее смысл? Если номер, полученный при помощи функции СТРОКА(), делится без остатка на 2, то значит у нее чётный номер, и к ней следует применить правило форматирования. Если же номер не делится на 2 без остатка, то это нечетная. Ее мы оставляем без изменений.

В результате получилась «полосатая» таблица по принципу «четный-нечетный».

Рекомендации

При вводе статуса работ важно не допустить опечатку. Если вместо слово Завершена, например, пользователь введет Завершено, то Условное форматирование не сработает.

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

Чтобы быстро расширить правила Условного форматирования на новую строку в таблице, выделите ячейки новой строки (А17:С17) и нажмите сочетание клавиш CTRL+D. Правила Условного форматирования будут скопированы в строку 17 таблицы.

Настройки выделения

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

Настройки перекрестного выделения

Здесь можно указать подсвечивать ли строки и столбцы вместе или по отдельности.

Настройки выделения строкии столбца

Можно отдельно указать цвет заливки и шрифта.

Выбор цвета заливки и шрифта

Нажмите Сохранить и программа запомнит настройки.

Автоматическое заполнение ячеек датами

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

Пользователю только необходимо указать если клиент совершал заказ в текущем месяце, то в соответствующую ячейку следует вводить текстовое значение «заказ». Главное условие для выделения: если на протяжении 3-х месяцев контрагент не сделал ни одного заказа, его номер автоматически выделяется красным цветом.

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

Автоматическое заполнение ячеек актуальными датами

В первую очередь для регистра с номерами клиентов создадим заголовки столбцов с зеленым цветом и актуальными месяцами, которые будут автоматически отображать периоды времени. Для этого в ячейку B1 введите следующую формулу:

Как работает формула для автоматической генерации уходящих месяцев?

На рисунке формула возвращает период уходящего времени начиная даты написания статьи: 17.09.2017. В первом аргументе в функции DATA – вложена формула, которая всегда возвращает текущий год на сегодняшнюю дату благодаря функциям: ГОД и СЕГОНЯ. Во втором аргументе указан номер месяца (-1). Отрицательное число значит, что нас интересует какой был месяц в прошлом времени. Пример условий для второго аргумента со значением:

  • 1 – значит первый месяц (январь) в году указанном в первом аргументе;
  • 0 – это 1 месяца назад;
  • -1 – это 2 мес. назад от начала текущего года (то есть: 01.10.2016).

Последний аргумент – это номер дня месяца указано во втором аргументе. В результате функция ДАТА собирает все параметры в одно значение и формула возвращает соответственную дату.

Далее перейдите в ячейку C1 и введите следующую формулу:

Как видно теперь функция ДАТА использует значение из ячейки B1 и увеличивает номер месяца на 1 по отношению к предыдущей ячейки. В результате получаем 1 – число следующего месяца.

Теперь скопируйте эту формулу из ячейки C1 в остальные заголовки столбцов диапазона D1:L1.

Выделите диапазон ячеек B1:L1 и выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Формат ячеек» или просто нажмите комбинацию клавиш CTRL+1. В появившемся диалоговом окне, на вкладке «Число», в разделе «Числовые форматы:» выберите опцию «(все форматы)». В поле «Тип:» введите значение: МММ.ГГ (обязательно буквы в верхнем регистре). Благодаря этому мы получим укороченное отображение значения дат в заголовках регистра, что упростит визуальный анализ и сделает его более комфортным за счет лучшей читабельности.

Обратите внимание! При наступлении января месяца (D1), формула автоматически меняет в дате год на следующий.

Как в Excel изменять цвет строки в зависимости от значения в ячейке

Узнайте, как на листах Excel быстро изменять цвет целой строки в зависимости от значения одной ячейки. Посмотрите приёмы и примеры формул для числовых и текстовых значений.

В одной из предыдущих статей мы обсуждали, как изменять цвет ячейки в зависимости от её значения. На этот раз мы расскажем о том, как в Excel 2010 и 2013 выделять цветом строку целиком в зависимости от значения одной ячейки, а также раскроем несколько хитростей и покажем примеры формул для работы с числовыми и текстовыми значениями.

Как изменить цвет строки на основании текстового значения одной из ячеек

Чтобы упростить контроль выполнения заказа, мы можем выделить в нашей таблице различными цветами строки заказов с разным статусом доставки, информация о котором содержится в столбце Delivery:

  • Если срок доставки заказа находится в будущем (значение Due in X Days), то заливка таких ячеек должна быть оранжевой;
  • Если заказ доставлен (значение Delivered), то заливка таких ячеек должна быть зелёной;
  • Если срок доставки заказа находится в прошлом (значение Past Due), то заливка таких ячеек должна быть красной.

И, конечно же, цвет заливки ячеек должен изменяться, если изменяется статус заказа.

С формулой для значений Delivered и Past Due всё понятно, она будет аналогичной формуле из нашего первого примера:

=$E2=»Delivered»
=$E2=»Past Due»

Сложнее звучит задача для заказов, которые должны быть доставлены через Х дней (значение Due in X Days). Мы видим, что срок доставки для различных заказов составляет 1, 3, 5 или более дней, а это значит, что приведённая выше формула здесь не применима, так как она нацелена на точное значение.

В данном случае удобно использовать функцию ПОИСК (SEARCH) и для нахождения частичного совпадения записать вот такую формулу:

=ПОИСК(«Due in»;$E2)>0
=SEARCH(«Due in»,$E2)>0

В данной формуле E2 – это адрес ячейки, на основании значения которой мы применим правило условного форматирования; знак доллара $ нужен для того, чтобы применить формулу к целой строке; условие “>0” означает, что правило форматирования будет применено, если заданный текст (в нашем случае это “Due in”) будет найден.

Подсказка: Если в формуле используется условие “>0“, то строка будет выделена цветом в каждом случае, когда в ключевой ячейке будет найден заданный текст, вне зависимости от того, где именно в ячейке он находится. В примере таблицы на рисунке ниже столбец Delivery (столбец F) может содержать текст “Urgent, Due in 6 Hours” (что в переводе означает – Срочно, доставить в течение 6 часов), и эта строка также будет окрашена.

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

=ПОИСК(«Due in»;$E2)=1
=SEARCH(«Due in»,$E2)=1

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

Итак, выполнив те же шаги, что и в первом примере, мы создали три правила форматирования, и наша таблица стала выглядеть вот так:

tsvet-stroki-excel-znachenie-yacheiki-9.png

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...