Как сделать подсветку строки при позиционировании в ячейке excel?

Подсветка строки или столбца цветом в 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 = «=» & 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 If
End Sub

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

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

Подсветка цветом столбца в Excel

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

  1. В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
  2. Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.

Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.

Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:

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

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

И нажимаем ОК на всех открытых окнах.

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

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

Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.

Как сделать подсветку строки при позиционировании в ячейке Excel?

Когда-нибудь вам доводилось работать с огромными данными в таблице? Знаете, с ними гораздо удобнее будет работать, если знать, как выделить несколько ячеек Excel различным цветом при определенном условии.

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

Цвет заливки меняется вместе со значением

Для примера мы потренируемся на том, чтобы ячейка меняла цвет в данной таблице при определенном условии. Да ни одна, а все со значением в диапазоне от 60 до 90. Для этого мы воспользуемся функцией «Условное форматирование».

Далее находим на вкладке «Главная» кнопку «Условное форматирование» и в списке выбираем «Создать правило».

У нас открылось окно «Создание правил форматирования». В этом окне выбираем тип правила: «Форматировать только ячейки, которые содержат».

Далее, переходим к разделу «Измените описание правила», где нужно указать те условия, по которым будет выполнена заливка. В этом разделе можно выставить самые различные условия, при которых она будет меняться.

В нашем случае необходимо поставить следующие: «значения ячейки» и «между». Так же мы обозначаем диапазон, что при условии значения от 60 до 90 будет применена заливка. Посмотрите на скриншоте, как это сделал я.

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

Если вы заполнили, то не спешите кликать по кнопке «ОК». Прежде необходимо нажать на кнопку «Формат», как на скриншоте, и перейти к настройке заливки.

Хорошо, как видите, у вас открылось окно «Формат ячейки». Здесь вам нужно перейти на вкладку «Заливка», где вы выбираете нужную, и нажать на «ОК» в этом окне и в предыдущем. Я выбрал зеленую заливку.

Посмотрите на свой результат. Думаю, у вас все получилось. У меня точно получилось. Взгляните на скриншот:

Окрасим ячейку в определенный цвет, если она равна чему-то

Давайте вернемся к нашей таблице в изначальном виде. И теперь мы поменяем цвет там, где содержится цифра 40 на красный цвет, а с цифрой 50 на желтый. Конечно, для этого дела можно воспользоваться первым способом, но мы же хотим знать больше возможностей Excel.

Читать еще:  Как сделать текст в ячейке excel чтобы отображались просто точки?

В этот раз мы воспользуемся функцией «Найти и заменить».

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

Теперь время открыть окно поиска. На вкладке «Главная» в разделе «Редактирование» нажмите на кнопку «Найти и выделить».

Можно же и горячими клавишами пользоваться: CTRL + F

В поле «Найти» мы указываем то, что ищем. В данном случае пишем «40», а затем жмем кнопку «Найти все».

Теперь, когда ниже были показаны результаты поиска, выберите одно из них и нажмите на сочетание CTRL + A, чтобы выбрать их все сразу. А затем нажмите на «Закрыть», чтобы убрать окно «Найти и заменить».

Когда у нас выбраны все, содержащие цифру 40, на вкладке «Главная» в разделе «Шрифт» выберите окраску ячейки. У нас это красный. И, как вы видите у себя на экране, так и у меня на скриншоте, они окрасились в красный.

Теперь те же самые действия нужно выполнить, чтобы окрасить те, где указано число 50. Думаю, теперь вам понятно, как сделать это.

У вас получилось? А посмотрите, что вышло у меня.

Вставить в видимые строки в Excel

Вставить только в видимые строки в Excel числа, формулы, текст можно несколькими способами. Когда нужно вставить числа, формулы, текст не во все строки таблицы, можно воспользоваться фильтром. Как установить фильтр и как фильтровать в Excel, смотрите в статье «Фильтр в Excel».

Но, чтобы вставить данные только в видимые ячейки, нужны свои способы, особенно, если много строк. Первый способ — обычный.Возьмем такую таблицу. Таблица будет одна для всех примеров.Уберем фильтром все цифры 2 из таблицы. В оставшиеся видимые ячейки поставим цифру 600. В ячейку В2 ставим число 600, затем копируем его вниз по столбцу (тянем за правый нижний угол ячейки В2). Значения скопировались только в видимые ячейки. Точно также можно вставлять и формулы. Мы в ячейке С2 пишем такую формулу. =А2*10Получилось так.Отменим фильтр. Получилась такая таблица.Формула и цифры вставились только в отфильтрованные строки. Второй способ.Также отфильтруем данные. В первой ячейке пишем число, формулу, текст, т.д. Теперь, если строк тысячи, то выделяем ячейки так: нажимаем клавиши «Ctrl» + «Shift» + кнопку (стрелочку) вниз (или кнопку вверх, зависит от того, где хотим выделить ячейки – ниже или выше ячейки, в которой написали число). Теперь, или нажимаем сочетание клавиш «Ctrl» + G, или клавишу F5. Выйдет диалоговое окно «Переход». Нажимаем кнопку «Выделить…». И, в новом диалоговом окне «Выделение группы ячеек» ставим галочку у слов «Только видимые ячейки».Нажимаем «ОК». Затем вставляем как обычно.

Ещё один способ вызвать диалоговое окно «Выделение группы ячеек». На закладке «Главная» в разделе «Редактирование» нажимаем на кнопку «Найти и выделить». В появившемся списке нажимаем на функцию «Выделение группы ячеек».

Чтобы заполнить видимые ячейки в выделенных столбцах Excel, нажимаем сочетание клавиш «Ctrl» + D. И все выделенные столбцы заполнятся данными или формулой, как в первой ячейке. В нашем примере, мы написали число800 в ячейку D2 столбца D.

Немного не по теме, но хочется сказать здесь. Сочетание клавиш «Ctrl» + R – копирует данные по строке Excel (в нашем примере – строка 2, копировали число 800 из ячейки D2). Получилось так.

Третий способ.В новом столбце (в нашем примере – столбец Е) выделяем ячейки. Нажимаем клавишу F5. Выйдет диалоговое окно «Переход». Нажимаем кнопку «Выделить…». И, в новом диалоговом окне «Выделение группы ячеек», ставим галочку у слов «Только видимые ячейки». Нажимаем «ОК». Теперь, не отменяя выделения, в первой ячейке столбца (у нас – Е2) вводим формулу, цифру, т.д. Нажимаем сочетание клавиш «Ctrl» + «Enter».

В Excel ячейки можно выделить цветом по поределенному условию, которое мы зададим условным форматированием и формулой. Смотрите, как это сделать, в статье «Закрасить ячейку по условию в Excel формулой».

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

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

Для настройки команды необходимо перейти на вкладку MulTEx -группа СпециальныеКоординатное выделение. После нажатия на большую иконку появится основная форма настроек:

Метод — выбор метода подсветки строки и столбца:

Выделение

    — строка и столбец выделяются обычным выделением. Если применен данный вид выделения, то при нажатии Delete будет удалено значение только активной ячейки (если выбрана область выделения «Строка и столбец», то из ячейки, которая находится на пересечении строки и столбца).

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

    • Вся таблица данных — выделяются строка и столбец только в пределах используемого рабочего диапазона листа (прямоугольная область листа, в которой находятся какие-либо данные).
    • Выбранный диапазон — выделяются строка и столбец только в пределах указанного диапазона.
    • Область применения — выбирается область листа, к которой применяется координатное выделение:
    • Только строка — выделяется только строка активной ячейки.
    • Только столбец — выделяется только столбец активной ячейки.
    • Строка и столбец — выделяется строка и столбец на пересечении активной ячейки.

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

    Помимо основной кнопки с формой, Координатное выделение предоставляет доступ к выпадающему меню, которое раскрывается нажатием на надпись Координатное выделение(со стрелочкой):

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

    • Координатное выделение — вызов основной формы с параметрами координатного выделения. Большинство действий можно производить непосредственно из меню, но некоторые настройки доступны только с формы(диапазон выделения, строка/столбец/строка и столбец). Их можно установить один раз за время работы в одном сеансе Excel и затем менять лишь основные: метод выделения и цвет, а так же отключить.
      Эта команда является командой по умолчанию для меню и для её вызова можно нажать на большой значок и форма настроек появится без раскрытия меню.
    • Подсветка через УФ — устанавливает выделение методом Условного Форматирования. По умолчанию устанавливается выделение строки и столбца для рабочего диапазона листа (прямоугольная область листа, в которой находятся какие-либо данные) серым цветом, если ранее не были установлены иные параметры.
    • Обычное выделение — устанавливает выделение обычным методом. По умолчанию устанавливается выделение строки и столбца для рабочего диапазона листа (прямоугольная область листа, в которой находятся какие-либо данные), если ранее не были установлены иные параметры.
    • Установить цвет выделения — представляет собой выпадающее меню, в котором можно выбрать один из шести цветов выделения, если применен метод выделения Условным форматированием. По умолчанию применяется серый цвет. Можно выбрать один из шести «быстрых» цветов или назначить любой цвет из палитры, нажав «Выбрать цвет…»

      Изменение цвета работает только в случае, если установлен хоть какой-то тип выделения. Если просто выбрать цвет — то он будет применен только после включения координатного выделения методов условного форматирования.
    • Отключить координатное выделение — отключает координатное выделение.
    Читать еще:  Как сделать нумерованный список в excel?

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

    Так при примененном координатном выделении невозможно скопировать/вставить выделенный диапазон, или удалить данные целой строки и столбца.

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

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

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

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

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

    Координатное выделение

    У вас большой монитор, но таблицы, с которыми вы работаете — еще больше. И, пробегая взглядом по экрану в поисках нужной информации, всегда есть шанс «соскользнуть» взглядом на соседнюю строчку и посмотреть не туда. Я даже знаю людей, который для таких случаев постоянно держат недалеко от себя деревянную линейку, чтобы приложить ее к строке на мониторе. Технологии будущего!

    А если при движении активной ячейки по листу будет подсвечиваться текущая строка и столбец? Своего рода координатное выделение примерно такого вида:

    Поудобнее, чем линейка, правда?

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

    Способ 1. Очевидный. Макрос, выделяющий текущую строку и столбец

    Самый очевидный путь для решения нашей проблемы «в лоб» — нам нужен макрос, который будет отслеживать изменение выделения на листе и выделять целую строку и столбец для текущей ячейки. Также желательно иметь возможность при необходимости включать и отключать эту функцию, чтобы такое крестообразное выделение не мешало нам вводить, например, формулы, а работало только тогда, когда мы просматриваем список в поисках нужной информации. Это приводит нас к трем макросам (выделения, включения и выключения), которые нужно будет добавить в модуль листа.

    Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:

    Измените адрес рабочего диапазона на свой — именно в пределах этого диапазона и будет работать наше выделение. Затем закройте редактор Visual Basic и вернитесь в Excel.

    Нажмите сочетание клавиш ALT+F8, чтобы открыть окно со списком доступных макросов. Макрос Selection_On, как нетрудно догадаться, включает координатное выделение на текущем листе, а макрос Selection_Off — выключает его. В этом же окне, нажав кнопку Параметры (Options) можно назначить этим макросам сочетания клавиш для удобного запуска.

    Плюсы этого способа:

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

    Минусы этого способа:

    • такое выделение некорректно работает в том случае, если на листе есть объединенные ячейки — выделяются сразу все строки и столбцы, входящие в объединение
    • если случайно нажать клавишу Delete, то очистится не только активная ячейка, а вся выделенная область, т.е. удалятся данные из всей строки и столбца

    Способ 2. Оригинальный. Функция ЯЧЕЙКА + Условное форматирование

    Этот способ хотя и имеет пару недостатков, мне представляется весьма изящным. Реализовать что-либо, используя только встроенные средства Excel, минимально влезая в программирование на VBA — высший пилотаж 😉

    Способ основан на использовании функции ЯЧЕЙКА (CELL), которая может выдавать массу различной информации по заданной ячейке — высоту, ширину, номер строки-столбца, числовой формат и т.д.. Эта функция имеет два аргумента:

    • кодовое слово для параметра, например «столбец» или «строка»
    • адрес ячейки, для которой мы хотим определить значение этого параметра

    Хитрость в том, что второй аргумент не является обязательным. Если он не указан, то берется текущая активная ячейка.

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

    1. Выделяем нашу таблицу, т.е. те ячейки, в которых в будущем должно отображаться координатное выделение.
    2. В Excel 2003 и более старших версиях открываем меню Формат — Условное форматирование — Формула (Format — Conditional Formatting — Formula) . В Excel 2007 и новее — жмем на вкладке Главная (Home) кнопку Условное форматирование — Создать правило (Conditional Formatting — Create Rule) и выбираем тип правила Использовать формулу для определения форматируемых ячеек (Use formula)
    3. Вводим формулу для нашего координатного выделения:

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

  • Нажмите кнопку Формат (Format) и задайте цвет заливки.
  • Все почти готово, но остался один нюанс. Дело в том, что Excel не считает изменение выделения изменением данных на листе. И, как следствие, не запускает пересчет формул и перекраску условного форматирования только при изменении положения активной ячейки. Поэтому добавим в модуль листа простой макрос, который будет это делать. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этого простого макроса:

    Теперь при изменении выделения будет запускаться процесс пересчета формулы с функцией ЯЧЕЙКА в условном форматировании и заливаться текущая строка и столбец.

    Плюсы этого способа:

    • Условное форматирование не нарушает пользовательское форматирование таблицы
    • Этот вариант выделения корректно работает с объединенными ячейками.
    • Нет риска удалить целую строку и столбец с данными при случайном нажатии Delete.
    • Макросы используются минимально

    Минусы этого способа:

    • Формулу для условного форматирования надо вводить вручную.
    • Нет быстрого способа включить-выключить такое форматирование — оно включено всегда, пока не будет удалено правило.

    Способ 3. Оптимальный. Условное форматирование + макросы

    Золотая середина. Используем механизм отслеживания выделения на листе при помощи макросов из способа-1 и добавим к нему безопасное выделение цветом с помощью условного форматирования из способа-2.

    Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:

    Не забудьте изменить адрес рабочего диапазона на адрес своей таблицы. Закройте редактор Visual Basic и вернитесь в Excel. Чтобы использовать добавленные макросы, нажмите сочетание клавиш ALT+F8 и действуйте аналогично способу 1.

    Способ 4. Красивый. Надстройка FollowCellPointer

    Excel MVP Jan Karel Pieterse родом из Нидерландов раздает у себя на сайте бесплатную надстройку FollowCellPointer(36Кб), которая решает ту же задачу, отрисовывая с помощью макросов графические линии-стрелки для подсветки текущей строки и столбца:

    Красивое решение. Не без глюков местами, но попробовать точно стоит. Качаем архив, распаковываем на диск и устанавливаем надстройку:

    • в Excel 2003 и старше — через меню Сервис — Надстройки — Обзор (Tools — Add-Ins — Browse)
    • в Excel 2007 и новее — через Файл — Параметры — Надстройки — Перейти — Обзор (File — Excel Options — Add-Ins — Go to — Browse)

    Координатное выделение ячейки в Excel

    Рассмотрим различные способы координатного выделения ячейки в Excel: с применением макросов и с помощью условного форматирования.

    Приветствую всех, уважаемые читатели блога TutorExcel.Ru.

    Как часто при работе с большими таблицами данных вы теряли из виду нужный столбец или строку?
    Или, например, вы находите нужную ячейку и пытаетесь определить в каком столбце или строчке она находится?

    Для примера возьмем достаточно большую таблицу, в которой пользователю будет «легко» потеряться:


    Допустим нас интересует данные из Статья 8 в Период 6 (или любые другие).
    Пытаемся глазами найти пересечение, но быстро с этим справиться сможет далеко не каждый, да и возрастает вероятность ошибиться и получить некорректные цифры.

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

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

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

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

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

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

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

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

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

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


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

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

    Способ 2. Условное форматирование

    Следующий способ базируется на 2 основных принципах: условном форматировании (которое будет подсвечивать все ячейки в строке и столбце) и свойствах функции ЯЧЕЙКА (которая позволит нам составить правило для форматирования).

    Пойдем по порядку.
    Выделим диапазон таблицы (в нашем примере это A1:Z35), для которого будем делать перекрестное выделение.
    Далее в панели вкладок выбираем Главная -> Условное форматирование и нажимаем Создать правило:


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

    Затем нажимаем кнопку Формат и настраиваем внешний вид выделяемых данных (цвет заливки, шрифта) по своему усмотрению.

    Что нам дает функция ЯЧЕЙКА?

    Мы уже сталкивались с ней, когда, например, получали имя листа в виде формулы.
    Данная функция возвращает различные свойства ссылки в зависимости от параметров введенных аргументов. Поэтому формулы ЯЧЕЙКА(«строка») и ЯЧЕЙКА(«столбец») вернут нам, соответственно, номер строки и столбца текущей ячейки.
    Следовательно, введенная формула выделит все ячейки таблицы, где строка (или столбец) совпадают со строкой (или столбцом) текущей ячейки, в результате после форматирования и получится перекрестное выделение.

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

    Ссылка на основную публикацию
    Adblock
    detector