Содержание
- Подсветка строки или столбца цветом в Excel для активной ячейки
- Подсветка цветом строки активной ячейки в Excel
- Подсветка цветом столбца в Excel
- Выделить активную строку цветом в таблице Excel
- Подсветка строки в Excel цветом
- Принцип действия создания пользовательского курсора для таблицы
- Как подсветить строки в зависимости от значения в них 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 простых изменения в любом из примеров:
- В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
- Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.
Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.
Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:
В появившемся окне «Диспетчер правил условного форматирования» выберите правило и нажмите на кнопку «Изменить правило»:
Изменяем функцию, вносим желаемые стили оформления формата, которые доступны нам по кнопке «Формат»:
И нажимаем ОК на всех открытых окнах.
Решение изменения 2: Открываем редактор VBA-кода и изменяем только лишь одно свойство для объекта ActiveCell с Row на Column:
Наслаждаемся готовым желаемым результатом:
Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.
Источник
Выделить активную строку цветом в таблице 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
Итак, бывают ситуации, когда вы хотите обратить внимание читателя (вашей таблички) на какие-то особо важные моменты. Например, на те строки, значения в которых кажутся вам неправильными.
Допустим, у нас есть такая табличка. Я подсветил те строки, в которых продавец — Боб.
Сейчас я продемонстрирую вам, как можно сделать также и не только.
Итак, давайте начнём!
Подсвечиваем строки с нужным нам текстом
Допустим, у нас есть такая табличка:
Нам нужно подсветить все строки, в которых продавцом является Боб.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная»;
- Щелкните на «Условное форматирование»;
- Щелкните на «Создать правило…»;
- В открывшемся окне, выберите указанную на картинке опцию;
- В поле «Форматировать значения, для которых следующая формула является истинной» введите =$C2=»Bob»;
- А теперь настроим формат, щелкните на «Формат…»;
- И, в открывшемся окне, формат, которым нужно выделить ячейки;
- Подтвердите.
Итак, у нас получилось:
Как это работает?
Условное форматирование — функция, которая проверяет ячейки на наличие заданных нами параметров. В этом примере, мы задали следующее — выделять все строки, в ячейках которых содержится слово Боб. Этим и занимается функция.
Итак, строки выделены.
Подсвечиваем строки с нужным нам числами
Итак, как подсветить строку с определенным текстовым значением мы разобрались.
Теперь давайте разберемся с численным значением. В принципе, тут все почти тоже самое.
Допустим, у нас есть та же табличка. Только теперь нам нужно выделить те строки, в которых количество товара больше или равно 15-ти.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$D2>=15;
- Щелкните на «Формат…» и укажите цвет подсветки;
- Подтвердите.
Взглянем на результат:
Как видно, все получилось.
Точно также, кстати, и с датами.
Например, вам нужно выделить строки где дата — позже первого января 2021 года. Формула будет такой:
Подсвечиваем строки с одновременно несколькими нужными нам значениями
Те варианты которые мы рассмотрели ранее — лишь основы использования функции «Условное форматирование».
В реальности же, часто бывают ситуации когда нужно выделить те строки, которые обладают сразу несколькими нужными нам критериями.
Итак, давайте разбираться. Допустим, нам нужно выделить все строки в которых продавец Боб и количество товара больше 10-ти.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =И($C2=»Боб»;$D2>10)
- Укажите формат;
- Подтвердите.
В этом варианте выделяются те строки, которые обладают всеми указанными критериями.
Но если вам необходимо выделить те строки, которые обладают любым из указанных критериев(даже одним) используйте такую формулу:
Подсвечиваем строки разным форматом в зависимости от значения
Еще чаще, при составлении отчётов в Excel вам может понадобится выделять «хорошие» и «плохие» строки. Обычно для этого используют зеленый и оранжевый (красный) цвета.
Допустим, нам нужно выделить строки в которых кол-во более 20-ти — зелененьким, а если кол-во менее 20-ти, но более 15-ти — оранжевым.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$D2>15
- Установите оранжевый цвет в опции «Формат»;
- Подтвердите.
- В опции «Управление правилами» функции «Условное форматирование» щелкните «Создать правило»;
- И делаем еще одну проверку, только уже с формулой =$D2>20;
- В опции формат укажите зеленый цвет;
- Подтвердите.
Итак, вот результат:
Понимание порядка правил:
Условное форматирование проверяет правила по порядку. Из-за этого очень важно, в каком порядке они проверяются. Вы можете узнать это в диспетчере правил (открывается в «Условное форматирование» -> «Управление правилами…»).
У нас все правильно, но если бы правила проверялись наоборот, возникли бы ошибки. Из-за чего?
Потому что сначала ячейки окрашивались бы в зеленый цвет, а потом, при проверке второго правила, перекрашивались бы обратно в оранжевый.
Порядок проверки можно менять с помощью стрелки, идущей вниз. Как на картинке:
Подсвечиваем строки с пустыми ячейками
Такие ситуации тоже часто имеют место быть. Как выделить строки с пустыми ячейками?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =СЧЁТЕСЛИ($A2:$F2;»»)>0
- Установите оранжевый цвет в опции «Формат»;
- Подтвердите.
Подсвечивание разных строк в зависимости от вашего выбора в списке
В разделах статьи, рассмотренных ранее, мы указывали формулы и сразу после этого выделялись нужные строки. Но что если нужно чтобы при выборе, например, имени продавца из списка, автоматически подсвечивались все строки с его именем?
Вот пример такого подсвечивания:
Как это сделать?
- Для начала создайте этот список;
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$E2=$A$2
- Установите нужный формат;
- Подтвердите.
Готово! Когда вы будете выбирать имя из списка, функция «Условное форматирование» будет автоматически выделять все строки с этим именем.
Источник
Время от времени бывает удобно иметь возможность выделить (подсветить) активную строку или столбец. Решение в очень простом методе достижения этого эффекта. Мы будем использовать условное форматирование и лишь пару строк кода VBA.
Подсветка цветом строки активной ячейки в Excel
Как всем хорошо известно, с помощью условного форматирования вы можете изменить (выделить) формат ячеек, которые соответствуют определенным критериям. В нашем случае должны быть выделены только те ячейки, которые расположены в той же строке, что и активная ячейка. Исходные данные для примера будут выглядеть так, как показано на рисунке ниже:
Выберите диапазон ячеек B2:K23 так, чтобы ячейка B2 оставалась активной.
Затем выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для форматируемых ячее». В поле «Форматировать значения, для которых следующая формула является истинной:» введите следующую формулу.
=СТРОКА(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 простых изменения в любом из примеров:
- В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
- Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.
Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.
Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:
В появившемся окне «Диспетчер правил условного форматирования» выберите правило и нажмите на кнопку «Изменить правило»:
Изменяем функцию, вносим желаемые стили оформления формата, которые доступны нам по кнопке «Формат»:
И нажимаем ОК на всех открытых окнах.
Решение изменения 2: Открываем редактор VBA-кода и изменяем только лишь одно свойство для объекта ActiveCell с Row на Column:
Наслаждаемся готовым желаемым результатом:
Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.
Содержание
- 1 Подсветка цветом строки активной ячейки в Excel
- 2 Подсветка цветом столбца в Excel
- 2.1 Способ 1. Очевидный. Макрос, выделяющий текущую строку и столбец
- 2.2 Способ 2. Оригинальный. Функция ЯЧЕЙКА + Условное форматирование
- 2.3 Способ 3. Оптимальный. Условное форматирование + макросы
- 2.4 Способ 4. Красивый. Надстройка FollowCellPointer
- 2.5 Ссылки по теме
Время от времени бывает удобно иметь возможность выделить (подсветить) активную строку или столбец. Решение в очень простом методе достижения этого эффекта. Мы будем использовать условное форматирование и лишь пару строк кода VBA.
Как всем хорошо известно, с помощью условного форматирования вы можете изменить (выделить) формат ячеек, которые соответствуют определенным критериям. В нашем случае должны быть выделены только те ячейки, которые расположены в той же строке, что и активная ячейка. Исходные данные для примера будут выглядеть так, как показано на рисунке ниже:
Выберите диапазон ячеек B2:K23 так, чтобы ячейка B2 оставалась активной.
Затем выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для форматируемых ячее». В поле «Форматировать значения, для которых следующая формула является истинной:» введите следующую формулу.
=СТРОКА(B2)=АктивнаяСтрока
Внимание: Адрес ячейки в левой части формулы B2 должен соответствовать АКТИВНОЙ ЯЧЕЙКИ выбранного диапазона в момент выделения! Посмотрите на рисунок ниже. На нем вы можете видеть, что в выбранной области одна ячейка (если вы ничего не напутали, это будет ячейка в верхнем левом углу диапазона) не окрашена (отсутствует синий фон). Эта ячейка является активной ячейкой в момент выделения диапазона. Адрес именно этой ячейки вы должны использовать при условном форматировании. Как вы можете видеть, в нашем примере это ячейка B2.
Запись СТРОКА(B2) = АктивнаяСтрока означает то, что ячейка выбранного диапазона будет отформатирована, если номер строки этой ячейки равен значению, хранящемуся в созданном имени диапазона АктивнаяСтрока.
То, что сейчас вы должны сделать, так это создать это имя и найти способ присвоить ему номер строки активной ячейки. Для начала создайте новое имя (CTRL+F3) и присвойте ему для начала просто значение ноль.
Далее вам нужно каким-то способом изменять значение, присвоенное этому имени, в зависимости от строки, в которой находится активная ячейка. Для этой цели мы будем использовать код VBA.
Запустите редактор VBA (Alt+F11) и для листа (Например, «Пример2»), в котором вы хотите подсвечивать любые строки и где создано условное форматирование, введите код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.Names("АктивнаяСтрока").RefersTo = "=" & ActiveCell.RowEnd Sub
Если вы бы хотели, чтобы строки подсвечивались цветом только при перемещении в пределах определенного диапазона, вы можете немного изменить код, который мог бы выглядеть так (для нашего Примера 1):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B2:K23")) Is Nothing Then
ActiveWorkbook.Names("АктивнаяСтрока").RefersTo = "=" & ActiveCell.ColumnEnd IfEnd Sub
Окончательный результат выглядит так:
Туда где перемещается курсор автоматически подсвечивается цветом целая строка диапазона в месте нахождения активной ячейки.
Подсветка цветом столбца в Excel
Теперь для подсветки цветом целого столбца активной ячейки следует выполнить 2 простых изменения в любом из примеров:
- В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
- Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.
Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.
Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:
В появившемся окне «Диспетчер правил условного форматирования» выберите правило и нажмите на кнопку «Изменить правило»:
Изменяем функцию, вносим желаемые стили оформления формата, которые доступны нам по кнопке «Формат»:
И нажимаем ОК на всех открытых окнах.
Решение изменения 2: Открываем редактор VBA-кода и изменяем только лишь одно свойство для объекта ActiveCell с Row на Column:
Наслаждаемся готовым желаемым результатом:
Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.
У вас большой монитор, но таблицы, с которыми вы работаете — еще больше. И, пробегая взглядом по экрану в поисках нужной информации, всегда есть шанс «соскользнуть» взглядом на соседнюю строчку и посмотреть не туда. Я даже знаю людей, который для таких случаев постоянно держат недалеко от себя деревянную линейку, чтобы приложить ее к строке на мониторе. Технологии будущего!
А если при движении активной ячейки по листу будет подсвечиваться текущая строка и столбец? Своего рода координатное выделение примерно такого вида:
Поудобнее, чем линейка, правда?
Есть несколько способов разной сложности, чтобы реализовать такое. Каждый способ — со своими плюсами и минусами. Давайте разберем их детально.
Способ 1. Очевидный. Макрос, выделяющий текущую строку и столбец
Самый очевидный путь для решения нашей проблемы «в лоб» — нам нужен макрос, который будет отслеживать изменение выделения на листе и выделять целую строку и столбец для текущей ячейки. Также желательно иметь возможность при необходимости включать и отключать эту функцию, чтобы такое крестообразное выделение не мешало нам вводить, например, формулы, а работало только тогда, когда мы просматриваем список в поисках нужной информации. Это приводит нас к трем макросам (выделения, включения и выключения), которые нужно будет добавить в модуль листа.
Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:
Dim Coord_Selection As Boolean 'глобальная переменная для вкл/выкл выделения Sub Selection_On() 'макрос включения выделения Coord_Selection = True End Sub Sub Selection_Off() 'макрос выключения выделения Coord_Selection = False End Sub 'основная процедура, выполняющая выделение Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range If Target.Cells.Count > 1 Then Exit Sub 'если выделено больше 1 ячейки - выходим If Coord_Selection = False Then Exit Sub 'если выделение выключено - выходим Application.ScreenUpdating = False Set WorkRange = Range("A6:N300") 'адрес рабочего диапазона, в пределах которого видно выделение Intersect(WorkRange, Union(Target.EntireColumn, Target.EntireRow)).Select 'формируем крестообразный диапазон и выделяем Target.Activate End Sub
Измените адрес рабочего диапазона на свой — именно в пределах этого диапазона и будет работать наше выделение. Затем закройте редактор Visual Basic и вернитесь в Excel.
Нажмите сочетание клавиш ALT+F8, чтобы открыть окно со списком доступных макросов. Макрос Selection_On, как нетрудно догадаться, включает координатное выделение на текущем листе, а макрос Selection_Off — выключает его. В этом же окне, нажав кнопку Параметры (Options) можно назначить этим макросам сочетания клавиш для удобного запуска.
Плюсы этого способа:
- относительная простота реализации
- выделение — операция безобидная и никак не изменяет содержимое или форматирование ячеек листа, все остается как есть
Минусы этого способа:
- такое выделение некорректно работает в том случае, если на листе есть объединенные ячейки — выделяются сразу все строки и столбцы, входящие в объединение
- если случайно нажать клавишу Delete, то очистится не только активная ячейка, а вся выделенная область, т.е. удалятся данные из всей строки и столбца
Способ 2. Оригинальный. Функция ЯЧЕЙКА + Условное форматирование
Этот способ хотя и имеет пару недостатков, мне представляется весьма изящным. Реализовать что-либо, используя только встроенные средства Excel, минимально влезая в программирование на VBA — высший пилотаж 😉
Способ основан на использовании функции ЯЧЕЙКА (CELL), которая может выдавать массу различной информации по заданной ячейке — высоту, ширину, номер строки-столбца, числовой формат и т.д.. Эта функция имеет два аргумента:
- кодовое слово для параметра, например «столбец» или «строка»
- адрес ячейки, для которой мы хотим определить значение этого параметра
Хитрость в том, что второй аргумент не является обязательным. Если он не указан, то берется текущая активная ячейка.
Вторая составляющая этого способа — условное форматирование. Эта крайне полезная функция Excel позволяет автоматически форматировать ячейки, если они удовлетворяют заданным условиям. Если соединить эти две идеи в одно целое, то получим следующий алгоритм реализации нашего координатного выделения через условное форматирование:
- Выделяем нашу таблицу, т.е. те ячейки, в которых в будущем должно отображаться координатное выделение.
- В Excel 2003 и более старших версиях открываем меню Формат — Условное форматирование — Формула (Format — Conditional Formatting — Formula). В Excel 2007 и новее — жмем на вкладке Главная (Home) кнопку Условное форматирование — Создать правило (Conditional Formatting — Create Rule) и выбираем тип правила Использовать формулу для определения форматируемых ячеек (Use formula)
- Вводим формулу для нашего координатного выделения:
=ИЛИ(ЯЧЕЙКА(«строка»)=СТРОКА(A2);ЯЧЕЙКА(«столбец»)=СТОЛБЕЦ(A2))
=OR(CELL(«row»)=ROW(A1),CELL(«column»)=COLUMN(A1)) Эта формула проверяет, не совпадает ли номер столбца каждой ячейки в таблице с номером столбца текущей ячейки. Аналогично со столбцами. Таким образом закрашенными окажутся только те ячейки, у которых либо номер столбца, либо номер строки совпадает с текущей ячейкой. А это и есть крестообразное координатное выделение, которого мы хотим добиться.
- Нажмите кнопку Формат (Format) и задайте цвет заливки.
Все почти готово, но остался один нюанс. Дело в том, что Excel не считает изменение выделения изменением данных на листе. И, как следствие, не запускает пересчет формул и перекраску условного форматирования только при изменении положения активной ячейки. Поэтому добавим в модуль листа простой макрос, который будет это делать. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этого простого макроса:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell.Calculate End Sub
Теперь при изменении выделения будет запускаться процесс пересчета формулы с функцией ЯЧЕЙКА в условном форматировании и заливаться текущая строка и столбец.
Плюсы этого способа:
- Условное форматирование не нарушает пользовательское форматирование таблицы
- Этот вариант выделения корректно работает с объединенными ячейками.
- Нет риска удалить целую строку и столбец с данными при случайном нажатии Delete.
- Макросы используются минимально
Минусы этого способа:
- Формулу для условного форматирования надо вводить вручную.
- Нет быстрого способа включить-выключить такое форматирование — оно включено всегда, пока не будет удалено правило.
Способ 3. Оптимальный. Условное форматирование + макросы
Золотая середина. Используем механизм отслеживания выделения на листе при помощи макросов из способа-1 и добавим к нему безопасное выделение цветом с помощью условного форматирования из способа-2.
Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:
Dim Coord_Selection As Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range, CrossRange As Range Set WorkRange = Range("A7:N300") 'адрес рабочего диапазона с таблицей If Target.Count > 1 Then Exit Sub If Coord_Selection = False Then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Not Intersect(Target, WorkRange) Is Nothing Then Set CrossRange = Intersect(WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 Target.FormatConditions.Delete End If End Sub
Не забудьте изменить адрес рабочего диапазона на адрес своей таблицы. Закройте редактор 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)
Ссылки по теме
- Что такое макросы, куда вставлять код макроса на Visual Basic
Для того, чтобы настроить подкрашивание (или любое другое изменение формата) определенной ячейки, в зависимости от значения в ДРУГОЙ ячейке,
необходимо воспользоваться специальными настройками условного форматирования.
В примере – настроим автоматическое подкрашивание ячейки с цифрой фактического значения, если выполнение плана окажется ниже 80%.
Для этого:
- Выделим ячейку, которую будем подкрашивать в зависимости от другой ячейки.
- На ленте на вкладке «Главная» выберем «Условное форматирование» — > «Создать правило».
- В открывшемся окне выберем «Использовать формулу для определения форматируемых ячеек».
- В поле «Форматировать значения, для которых…» введем условие так, как если бы вставляли его в функцию ЕСЛИ, только вначале вставляем «=». (=$C$6
Итак, наша цель — построить инструмент, который умеет отслеживать на экране местоположение активной ячейки, выделяя цветом текущую строку и столбец. В результате на листе появится своего рода «координатная линейка», и просматривать таблицу станет намного удобнее. Решить такую задачу можно по-разному. Например, обратиться к языку VBA (Visual Basic for Application) и написать специальную программу. Но я не сторонник этого подхода. И потому предлагаю начать со стандартных возможностей MS Excel.
Способ 1. Используем условный формат
и функцию «ЯЧЕЙКА()»Для организации координатной подсветки нам нужно решить две проблемы:
1. Как-то определить номер строки и колонки, где находится активная ячейка.
2. Изменить формат этих строк и колонок, чтобы обозначить их на рабочем листе.
Для решения первой задачи мы задействуем функцию «ЯЧЕЙКА()» из стандартной библиотеки MS Excel. После этого, зная номер конкретной строки и колонки, мы применим к ним условное форматирование. Как видите, схема проста. Остается реализовать ее практически. Начнем с функции «ЯЧЕЙКА()». Она позволяет получить массу полезной информации о любой ячейке рабочего листа. Например, узнать ее высоту, ширину, номер строки или колонки, числовой формат и т. п. У функции два аргумента:
— ключевое слово, это может быть «»строка»» или «»столбец»»;
— адрес ячейки, для которой нужно выяснить ее параметры.
Хитрость состоит в том, что второй аргумент указывать не обязательно. И тогда функция вернет параметры для текущей ячейки. То есть через функцию «ЯЧЕЙКА()» мы сможем определить номер строки и колонки для активной ячейки рабочего листа — именно то, что нам нужно для решения первой задачи.
Переходим к условному форматированию. Этот полезный инструмент Excel позволит нам изменить формат ячеек, если они удовлетворяют определенному условию. Причем (и это очень важно!) условие в данном случае можно задать при помощи формулы. Итак, все инструменты для решения задачи, похоже, у нас есть. Переходим к деталям. Посмотрим, как все это выглядит в программе Excel 2010. Делаем так:
1. Открываем (или создаем новый) документ Excel. Пусть это будет база данных, как на рис. 1.
2. Щелкаем мышкой на ячейке «A1».
3. Переходим в меню «Главная». В группе «Стили» щелкаем на иконке «Условное форматирование» (рис. 2). Откроется меню, как на рис. 3.
4. Из этого меню выбираем пункт «Создать правило…». Откроется окно «Создание правила форматирования», изображенное на рис. 4.
5. В разделе «Выберите тип правила:» находим вариант «Использовать формулу для определения форматируемых ячеек».
6. В поле «Измените описание правила:» вводим формулу «=ИЛИ(ЯЧЕЙКА(«строка»)=СТРОКА(A1);ЯЧЕЙКА(«столбец»)=СТОЛБЕЦ(A1))».
7. Щелкаем на кнопке «Формат…» (рис. 4). Откроется окно «Формат ячеек», изображенное на рис. 5.
8. В этом окне переходим на закладку «Заливка». В предложенной палитре выбираем цвет фона. Например, светло-серый вариант.
9. В окне «Формат ячеек» нажимаем «ОК».
10. В окне «Создание правила форматирования» нажимаем «ОК». Условный формат для ячейки «A1» готов. Остается скопировать его на весь рабочий лист.
11. Оставаясь на ячейке «A1», щелкаем на кнопке «Формат по образцу» (рис. 6).
12. Обводим при помощи мышки (не клавиатуры!) блок ячеек, где нужно создать координатное выделение.
Совет В Excel 2003 (или более ранних версиях этой программы) вызвать инструмент условного форматирования можно через меню «Формат → Условное форматирование…». После чего в окне настроек установить параметр «Условие 1» в положение «формула».
Пару слов о работе формулы и о том, как она связана с условным форматированием. Напомню, что сейчас мы находимся в ячейке «A1», причем формулу мы записали именно для этой ячейки. Теперь по порядку. Начнем с выражения «ЯЧЕЙКА(«строка»)». Поскольку в функции адрес явно не указан, номер строки она определит для активной ячейки рабочего листа. Это значение мы сравним с номером строки для адреса «A1». Этот номер нам вернет функция «СТРОКА(A1)». И тогда, если указатель активной ячейки находится в первой строке рабочего листа, выражение «ЯЧЕЙКА(«строка»)=СТРОКА(A1)» будет истинным. В противном случае эта формула вернет значение «ЛОЖЬ». Вторая часть формулы, по сути, такая же, только проверяет она номер колонки. То есть выражение «ЯЧЕЙКА(«столбец») =СТОЛБЕЦ(A1))» сравнивает номер колонки для активной ячейки с номером столбца для адреса «A1».
Все, что остается сделать, — это объединить оба выражения через операцию «ИЛИ()». И тогда полученная формула будет означать: «если активная ячейка находится в первой строке или в первой колонке рабочего листа, верни значение «ИСТИНА» и включи инструмент условного форматирования». Для ячейки «A1» все верно. Остается распространить это правило на всю область рабочего листа. Для этого мы воспользовались иконкой копирования формата ячеек. В этом случае адреса в формуле условного форматирования будут преобразованы по обычным правилам Excel. То есть, при копировании по вертикали поменяются номера строк. При копировании в стороны изменятся номера колонок. Например, формула для условного форматирования ячейки «B1» станет такой: «=ИЛИ(ЯЧЕЙКА(«строка»)=СТРОКА(B1);ЯЧЕЙКА(«столбец»)= СТОЛБЕЦ(B1))». А в результате строка и колонка текущей ячейки поменяет свой цвет. Это и есть координатное выделение, которое мы хотели получить.
Но это еще не все. Дело в том, что правило условного форматирования срабатывает только при обновлении рабочего листа. Например, в момент пересчета формул. Просто перемещение активной ячейки Excel таким обновлением не считает. И поэтому координатная подсветка работать не будет. Для решения проблемы нам придется искусственно обновить лист. Проще всего это сделать при помощи небольшого макроса, добавив его в свойства рабочего листа. Для этого делаем так:
1. Щелкаем правой кнопкой мышки на листе с параметрами условного форматирования. Откроется контекстное меню, как на рис. 7.
2. Из этого меню выбираем пункт «Исходный текст». Откроется окно редактора Visual Basic.
3. В этом окне вставляем такой текст:
«Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Calculate
End Sub».
4. Закрываем окно Visual Basic. На предложение сохранить изменения отвечаем утвердительно.
Важно! Текст модуля на Visual Basic нужно вводить без окаймляющих кавычек.
Теперь при любом перемещении активной ячейки будет активировано условное форматирование, а на листе появится координатное выделение строк и колонок, как показано на рис. 8. Задача решена.
Посмотрим, что мы получили на самом деле, каковы достоинства и недостатки нашего подхода. Вначале о преимуществах, среди которых я бы указал такие:
— инструмент условного форматирования не нарушает функционал таблицы, работают все приемы копирования, перемещения ячеек;
— работа с условными форматами не нарушает форматирование таблицы;
— наш вариант реализации координатной подсветки правильно работает с таблицами, где есть объединенные ячейки, а это для бухгалтера очень важно;
— макросы на VBA нужны в минимальном объеме, прикрепить их к рабочему листу не составляет труда.
Что касается недостатков, они тоже есть, в частности:
— формулу для условного форматирования нужно создавать вручную;
— нет способа быстро включить или отключить координатную подсветку на рабочем листе — для этого нужно удалить правило условного форматирования, а это потребует времени;
— при копировании ячеек с других рабочих книг или листов для них придется восстанавливать правила условного форматирования.
На мой взгляд, указанные проблемы не относятся к разряду существенных. По личному опыту скажу, что работа с координатным вычислением на базе условного форматирования не вызывает никаких проблем. Тем не менее имеет смысл посмотреть и на другие способы решения задачи. Чем мы сейчас и займемся.
Способ 2. Применяем надстройку «FollowCellPointer»
В результате пятнадцатиминутного общения с Google я обнаружил по меньшей мере десяток вариантов для реализации координатной подсветки с использованием макросов на VBA. Все они отличались в деталях, но принцип был один: для обозначения строки и колонки эти макросы использовали выделение несвязных диапазонов. В ручном режиме это можно сделать, нажав клавишу «Ctrl», а затем щелчком мышки выделить строку и колонку. Такие варианты я отбросил без сожаления — когда на листе выделен несвязный диапазон, не работают операции копирования и перемещения ячеек. А это — огромный недостаток при работе с таблицей. Да и углубляться в тонкости работы с VBA, откровенно говоря, не хотелось бы. Но одна ссылка меня заинтересовала. Речь шла о готовой надстройке «FollowCellPointer», которую раздает на своем сайте Jan Karel Pieterse (Нидерланды). Продукт этот бесплатный, построен он на макросах Excel и позволяет рисовать на листе графические линии для обозначения строки и колонки активной ячейки.
Прежде чем познакомится с этой программой, ее нужно скачать. Для этого делаем так:
1. Заходим на сайт и щелкаем на гиперссылке «free utilities» (рис. 9). Откроется раздел загрузок, который оформлен в виде таблицы.
2. В предложенном перечне находим программу «FollowCellPointer» (рис. 9) и щелкаем на ссылке левой кнопкой мышки. Через некоторое время в папке загрузок вашего браузера появится файл «followcellpointer.zip».
3. Копируем этот файл в любую папку и распаковываем его. Все, надстройка готова для инсталляции.
Важно! Для работы с файлом «followcellpointer.zip» на вашем компьютере должна быть установлена программа-архиватор (WinRar, WinZip или аналогичная).
В подавляющем большинстве случаев такая программа есть. И тогда для распаковки достаточно щелкнуть на имени файла левой кнопкой мышки, затем выбрать из контекстного меню «Извлечь все…» или «Распаковать в текущую папку». В результате в этой папке появится файл «FollowCellPointer.xla». Щелчком мышки загружаем его в MS Excel. Надстройка готова к работе.
Важно! Для работы надстройки в Excel 2010 скопируйте файл «FollowCellPointer.xla» в системную папку дополнений MS Office. По умолчанию путь к этой папке выглядит так: «C:Users…AppDataRoamingMicrosoftAddIns». В этой строке вместо символа «…» нужно поставить имя пользователя для вашей учетной записи Windows.
Дальше делаем так:
1. Открываем или создаем новый документ.
2. Вызываем меню «Файл», затем щелкаем на пункт «Параметры».
3. В окне настроек Excel переходим в раздел «Надстройки» и нажимаем кнопку «Перейти…» (рис. 10). Откроется одноименное окно «Надстройки», как на рис. 10.
4. В этом окне ставим «галочку» возле строки «FollowCellPointer».
5. В окне «Надстройки» нажимаем «ОК».
6. Переходим в меню «Надстройки». Лента этого меню показана на рис. 11. На ней появится дополнительная группа с иконками: «Enable», «Disable», «Anchor», «ClearAnchor», «Format».
7. Щелкаем на иконке «Enable». Возле активной ячейки появятся тонкие линии, как показано на рис. 12. На мой взгляд, весьма изящное решение, вполне заменяет координатную подсветку строк и колонок.
Чтобы отключить этот режим, щелкаем на кнопке «Disable».
Как и большинство программ, «FollowCell- Pointer» содержит ряд полезных режимов и настроек. Вот основные из них.
Инструмент «Anchor» (рис. 11) позволяет зафиксировать обозначение текущей ячейки, после чего продолжить работу в обычном режиме. Такая возможность полезна, например, при анализе связей между ячейками таблицы. Пример использования режима «Anchor» показан на рис. 13.
Кнопка «ClearAnchor» стирает отметку, сделанную в режиме «Anchor».
Последней иконкой, относящейся к «FollowCellPointer», является кнопка «Format». Щелчок на этой кнопке открывает окно «Format Arrows», изображенное на рис. 14. Несмотря на английский интерфейс, здесь все просто. Большинство параметров в этом окне позволяют изменить форму стрелок и линий для отметки текущей ячейки. Приведу вкратце основные настройки, представленные в окне «Format Arrows»:
— «Arrow head style» изменяет форму указателей на линиях, которые ведут к активной ячейке. Возможные варианты: «Diamond» — указатели выглядят как ромбики, «Open» — тонкие стрелки, «Oval» — круглые указатели, «None» — линии будут показаны без указателей, «Triangle» — указатели выглядят как заполненные стрелки (в виде треугольников);
— «Arrow head length» позволяет отрегулировать длину указателей на конце линий. Предусмотрены два варианта: «Short» — короткий, и «Long» — продолговатый;
— «Arrow head width» — здесь можно задать ширину указателя: «Narrow» — тонкий, и «Wide» — широкий;
— «Arrow line width» — этот параметр влияет на толщину линий: «1» — тонкая линия, «2» — линия с полужирным начертанием;
— «Transparency» изменяет способ рисования линий. Параметр может принимать два значения: «Opaque» — рисовать обычные линии, «Transparent» — рисовать полупрозрачные линии.
Кнопка «Line Color» (рис. 14) позволяет выбрать цвет линии из стандартной палитры MS Excel.
Разумеется, настройка параметров — дело сугубо индивидуальное. Мне понравился вариант с полупрозрачными линиями и округлыми окончаниями. А подробный состав моих настроек выглядит так: «Arrow head length» = «Short», «Arrow head width» = «Narrow», «Arrow line width» = «1», «Transparency» = «Transparent».
На сегодня все. Надеюсь, что материал этой статьи сделает вашу работу с большими таблицами проще и удобнее. До новых встреч!
Жду ваших вопросов, замечаний и предложений на bk@id.factor.ua, nictomkar@rambler.ru или на форуме редакции www.bk.factor.ua/forum.
Identify what active cells and sheets are in your spreadsheet
Updated on January 4, 2020
In spreadsheet programs such as Excel or Google Spreadsheets, the active cell is identified by a colored border or outline surrounding the cell. The active cell is always in the active sheet.
Cells and Sheets
The active cell is also known as the current cell or the cell that holds the focus of the cursor. Even if you’ve selected several cells, only one normally has focus, which, by default, is selected to receive input. For example, data entered with the keyboard or pasted from a clipboard is sent to the cell which has focus. An exception is when an array formula is entered into multiple cells at the same time.
Similarly, the active sheet or current sheet is the worksheet containing the active cell. Like the active cell, the active sheet is considered to have focus when it comes to performing actions that affect one or more cells — such as formatting — and the changes occur to the active sheet by default.
The active cell and sheet can easily be changed. In the case of the active cell, either clicking another cell with the mouse pointer or pressing the arrow keys on the keyboard will both result in a new active cell being selected.
Change the active sheet by clicking a different sheet tab with the mouse pointer or by using a keyboard shortcut.
Active Cell and the Name Box
The cell reference for the active cell appears in the Name Box, located above Column A in a worksheet. If the active cell has been given a name, either on its own or as part of a range of cells, the range name is displayed in the Name Box instead.
Changing the Active Cell within a Group of Highlighted Cells
If a group or range of cells have been selected the active cell can be changed without re-selecting the range using the following keys on the keyboard:
- Enter: moves the active cell highlight down one cell within the selected range.
- Shift+Enter: moves the active cell highlight up one cell within the selected range.
- Tab: moves the active cell one cell to the right within the selected range.
- Shift+Enter: moves the active cell one cell to the left within the selected range.
- Ctrl + . (period): moves the active cell clockwise to the next corner of the selected range.
Moving the Active Cell to Different Group of Selected Cells
If more than one group or range of non-adjacent cells is highlighted in the same worksheet, the active cell highlight can be moved between these groups of selected cells using the following keys on the keyboard:
- Ctrl+Alt+Right Arrow: moves the active cell highlight to the next non-adjacent range to the right of the current location.
- Ctrl+Alt+Left Arrow: moves the active cell highlight to the next non-adjacent range to the left of the current location.
Selecting Multiple Sheets and the Active Sheet
Even though it is possible to select or highlight more than one worksheet at one time, only the active sheet name is in bold and most changes made when multiple sheets are selected will still only affect the active sheet.
Changing the Active Sheet With Shortcut Keys
Change the active sheet by clicking the tab of another sheet with the mouse pointer, or use shortcut keys:
In Excel
- Moving to the sheet to the left: Ctrl+PgUp.
- Moving to the sheet to the right: Ctrl+PgDn.
In Google Spreadsheets
- Moving to the sheet to the left: Ctrl+Shift+PgUp.
- Moving to the sheet to the right: Ctrl+Shift+PgDn.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
novomaster Пользователь Сообщений: 97 |
Активная ячейка (та, на которую нажали мышкой или просто перешли с помощью стрелочек, клавишей Enter и прочее) должна автоматически выделяться жёлтой заливкой и возвращаться к исходному виду, как только активной становится другая ячейка. |
vikttur Пользователь Сообщений: 47199 |
Ищите в Приемах этого сайта — координатное выделение Вот что выдал поиск по сайту |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#3 31.08.2015 22:48:10 В модуль листа:
Диапазон поменяйте под свои нужды. |
||
novomaster Пользователь Сообщений: 97 |
vikttur, да, видел этот прием ( http://www.planetaexcel.ru/techniques/3/58/ ), но он — не совсем то: там выделяется целая строка и целый столбец. В большой таблице и так не всё так быстро работает, поэтому лишнее торможение не на руку. Другое дело, если выделяется только одна ячейка |
novomaster Пользователь Сообщений: 97 |
Юрий М, спасибо, завтра попробую. А если учесть, что таблица каждый день добавляется (добавляются строки, столбцы — нет), то выделить все строки, включая пустые до самого конца листа? |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
А в чем сложность вместо D10 написать, например, N1000? Про «выделить» вообще не понял. |
novomaster Пользователь Сообщений: 97 |
Юрий М, это я к тому, что не будет ли тормозить при таком диапазоне? |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
|
novomaster Пользователь Сообщений: 97 |
Юрий М, завтра попробую на работе )))) Сейчас просто с телефона сижу — на нём не создашь лист Excel ) |
На случай, если на листе есть ячейки с заливкой |
|
novomaster Пользователь Сообщений: 97 |
Юрий М, А куда код вставлять? Я делаю так: становлюсь на нужный лист, щелкаю на листе правой кнопкой, затем «исходный текст» — у меня открывается окно, где есть уже макрос один. Как правильно сделать? |
novomaster Пользователь Сообщений: 97 |
Alexander88, спасибо, ваш вариант работает, но когда копирую макросы из ваших модулей и вставляю в свои — не работает (( Изменено: novomaster — 01.09.2015 15:33:52 |
novomaster, Нужно скопировать с модуля книги и с обычного модуля (не забыв глобальные переменные вверху). Изменено: Alexander88 — 01.09.2015 15:53:47 |
|
novomaster Пользователь Сообщений: 97 |
Alexander88, » (не забыв глобальные переменные вверху)» — это что за переменные? |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#15 01.09.2015 16:38:30
Делаете всё правильно, но нужно знать, что там за макрос у Вас — как он называется? |
||
novomaster Пользователь Сообщений: 97 |
Юрий М, я в них уже запутался. Прикладываю скрин тех окошек, которые открываются, если нажать правой кнопкой мыши на названии листа >> «Исходный текст» |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Если процедура Worksheet_SelectionChange УЖЕ имеется в листе, то нужно проверки делать внутри этой процедуры. Давайте Ваш файл — вставим прямо в него нужный фрагмент ) |
novomaster Пользователь Сообщений: 97 |
Юрий М, теперь завтра, уже с работы ушел, а файл там |
novomaster Пользователь Сообщений: 97 |
Юрий М, прилагаю файл, только данные по клиентам удалил |
novomaster Пользователь Сообщений: 97 |
Юрий М, там пароль 2080 |
Gabi Пользователь Сообщений: 22 |
Подскажите пожалуйста, как сделать так, чтобы по клику заливалась ячейка узором, и если снова кликнуть туда же, то заливка исчезала. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Добавил в модуль листа «Клиенты» свой вариант. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#24 02.09.2015 13:20:51
А если не возвращаться, то все ранее выделенные ячейки должны оставаться с этой заливкой? |
||
novomaster Пользователь Сообщений: 97 |
Alexander88, супер! Всё отлично работает, даже лучше, чем я предполагал! Спасибо огромнейшее!!! |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
|
novomaster Пользователь Сообщений: 97 |
Юрий М, Ваш еще не видел, сейчас посмотрю )) |
Gabi Пользователь Сообщений: 22 |
Юрий М, да, если не было повторного клика, то ячейка должна быть залита узором |
novomaster Пользователь Сообщений: 97 |
Юрий М, у Вас тоже всё отлично работает, причём всё по заданным параметрам (лист, диапазон и т.д.), а у Alexander88 — на всех листах и ячейках. Но это не плохо, может потом пригодится это выделение ячеек и на других листах. В общем, всем огромное спасибо! |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#30 02.09.2015 14:49:35
См. файл. Прикрепленные файлы
|
||