Итак, мне часто задают вопрос: «Как сделать так, чтобы при выделении одной ячейки, подсвечивались еще строка и столбец, в которых находится эта ячейка».
Из-за этого я решил написать отдельную статью. Это поможет моим читателям экономить время.
Чего мы хотим добиться? Ответ на анимированном изображении ниже.
Как мы видим, при выделении одной ячейки, столбец и строка также подсвечиваются. Это очень удобно и помогает ориентироваться в данных, особенно когда вы работаете с большими таблицами. Взгляд будет всегда сфокусирован и не будет проблем с определением, например, столбца, в котором находится наша ячейка.
Итак, начнем!
Подсветка строки и столбца при выделении ячейки в Excel
Как это сделать (пошаговая инструкция):
Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox
- Щелкните на «Главная»;
- Выберите функцию «Условное форматирование» и щелкните «Создать правило…»;
- В открывшемся окошке, из списка, выберите «Использовать формулу для определения форматируемых ячеек»;
- Укажите следующую формулу: =ИЛИ(ЯЧЕЙКА(«col»)=СТОЛБЕЦ();ЯЧЕЙКА(«row»)=СТРОКА())
- Щелкните на «Формат» и установите подходящий для вас цвет и так далее;
- Подтвердите.
Итак, строка и столбец, в которых находится выделенная ячейка, должны подсвечиваться одним и тем же цветом.
Но это еще не конец. Теперь нам необходимо вставить небольшой код в VB.
Вот он:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.CutCopyMode = False Then Application.Calculate End If End Sub |
Ниже, я продемонстрирую вам, как поместить это в VB, чтобы все заработало.
Что, собственно, делает этот код? Он запускает функцию, которая делает выделение, каждый раз, когда вы выделяете новую ячейку. Сама по себе эта функция запускается только когда в таблице происходит изменение (значения какой-либо ячейки, например). А для нас это не очень хороший вариант.
Кроме этого, функция «IF» в коде проверяет, пытается ли пользователь что-то вставить в документ и если да, то останавливает условное форматирование, чтобы не возникало проблем.
Как правильно вставить код в Visual Basic:
- Щелкните на «Разработчик»;
- Запустите «Visual Basic»;
- В открывшемся окне Visual Basic, слева вы видите «дерево» вашего файла Excel. Если, вдруг, вы ничего не видите, нажмите CTRL + R;
- Щелкните левой кнопкой мышки два раза по названию вашей таблицы;
- Вставьте данный выше код в открывшееся окно. В случае если у вас несколько листов в файле, вам потребуется сделать это для каждого листа отдельно (открыть каждый лист в VB и вставить туда наш код);
- Щелкните на красный крест справа вверху;
Не забывайте, из-за того, что в этом файле вы будете использовать Visual Basic, вам нужно сохранить файл с соответствующим расширением.
А еще, помните ранее я сказал вам, что строка и столбец будут выделены одним цветом? Так вот, если вы все-таки хотите, чтобы они выделялись разными цветами, вот аргументы для формулы:
- =СТОЛБЕЦ()=ЯЧЕЙКА(«col»)
- =ЯЧЕЙКА(«row»)=СТРОКА()
Из-за того, что это две отдельные формулы, вы можете в функции «Формат» указать разные цвета и так далее.
Важная информация:
- Не переживайте, все то, что мы рассмотрели, не повлияет на ручное выделение, например, ячеек (разными цветами и т.д.).
- Функция «Условное форматирование» довольно ресурсозатратная штука, не забывайте об этом. Если у вас, к примеру, старенький ноутбук, из-за этой функции, при работе с большими объемами данных Excel может «тормозить».
- Как я сказал ранее, код который мы вставили в Visual Basic активирует «Условное форматирование» каждый раз, когда вы выделяете новую ячейку.
Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox