Як виділити активний рядок і стовпець в Excel

  • Поділитися Цим
Michael Brown

У цьому уроці ви дізнаєтеся про 3 різні способи динамічного виділення рядка і стовпця виділеної комірки в Excel.

При тривалому перегляді великого аркуша можна з часом втратити уявлення про те, де знаходиться курсор і які дані ви переглядаєте. Щоб точно знати, де ви знаходитесь в будь-який момент, змусьте Excel автоматично підсвічувати для вас активний рядок і стовпець! Природно, підсвічування повинно бути динамічним і змінюватися при кожному виділенні чергової комірки. По суті, це те, чого ми прагнемо досягти:

    Автоматичне виділення рядка і стовпця виділеної комірки за допомогою VBA

    У даному прикладі показано, як засобами VBA можна програмно виділити активний стовпець та рядок. Для цього ми будемо використовувати оператор SelectionChange захід з нагоди Робочий аркуш заперечую.

    Спочатку очищається колір фону всіх комірок на аркуші, для чого встановлюється параметр ColorIndex в 0. А потім виділяється весь рядок і стовпець активної комірки, встановлюючи їх властивість ColorIndex властивість до індексного номеру для потрібного кольору.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Очистити колір усіх комірок Cells.Interior.ColorIndex = 0 With Target 'Виділити рядок і стовпець виділеної комірки .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Налаштування коду

    Якщо ви хочете налаштувати код під свої потреби, ці невеликі поради можуть стати вам у нагоді:

    • У нашому прикладі коду використовується два різних кольори, продемонстрованих у наведеному вище gif-файлі - індекс кольору 38 для рядка і 24 для стовпця. змінити колір підсвічування просто замініть їх на будь-які коди ColorIndex за вашим вибором.
    • Для того, щоб зафарбувати рядок і стовпець у так само використовуйте один і той самий кольоровий індекс для обох.
    • Для того, щоб виділити тільки активний рядок видаліть або прокоментуйте цей рядок: .EntireColumn.Interior.ColorIndex = 24
    • Для того, щоб виділити тільки активна колонка видаліть або прокоментуйте цей рядок: .EntireRow.Interior.ColorIndex = 38

    Як додати код на робочий аркуш

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

    1. У вашій робочій книзі натисніть Alt + F11, щоб потрапити в редактор VBA.
    2. У Провіднику проекту зліва ви побачите список всіх відкритих книг і їх робочих аркушів. Якщо ви його не бачите, скористайтеся комбінацією клавіш Ctrl + R, щоб викликати вікно Провідника проекту на екран.
    3. Знайдіть цільовий робочий зошит. Об'єкти Microsoft Excel двічі клацніть на аркуші, до якого потрібно застосувати виділення. У нашому прикладі це Аркуш 1 .
    4. У вікні "Код", що знаходиться праворуч, вставити вищевказаний код.
    5. Збережіть файл як Робоча книга з підтримкою макросів (.xlsm).

    Переваги Переваги: все робиться в бекенді; не потребує жодних налаштувань на стороні користувача; працює у всіх версіях Excel.

    Недоліки Недоліки: є два суттєвих недоліки, які роблять цей метод незастосовним за певних обставин:

    • Код очищає кольори фону Якщо у вас є кольорові клітинки, не використовуйте це рішення, оскільки ваше користувацьке форматування буде втрачено.
    • Виконання цього коду блоки функціонал скасування на аркуші, і ви не зможете скасувати помилкову дію, натиснувши Ctrl + Z .

    Виділення активного рядка і стовпця без VBA

    Найкраще, що можна отримати для виділення виділеного рядка та/або стовпця без VBA - це умовне форматування Excel. Щоб його налаштувати, виконайте такі дії:

    1. Виберіть набір даних, в якому має бути зроблено виділення.
    2. Про це йдеться на Головна сторінка у вкладці Стилі групу, натисніть Нове правило .
    3. В рамках проекту Нове правило форматування виберіть у діалоговому вікні Використовуйте формулу, щоб визначити, які клітинки форматувати .
    4. В рамках проекту Значення формату, для яких ця формула істинна введіть одну з цих формул:

      Виділити активний рядок :

      =CELL("row")=ROW()

      Виділити активна колонка :

      =CELL("col")=COLUMN()

      Виділити активний рядок і стовпець :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN())

      У всіх формулах використовується функція ЯЧЕЙКА для повернення номера рядка/стовпця вибраної комірки.

    5. Натисніть на кнопку Формат переключіться на кнопку Заповнити та оберіть колір, який вам до вподоби.
    6. Двічі натисніть OK, щоб закрити обидва діалогових вікна.

    Якщо ви вважаєте, що вам потрібна більш детальна інструкція, будь ласка, зверніться до статті Як створити правило умовного форматування на основі формули.

    Для цього прикладу ми вибрали формулу АБО, щоб зафарбувати стовпець і рядок в один колір. Це займає менше часу і підходить для більшості випадків.

    На жаль, це рішення не таке гарне, як VBA, тому що воно вимагає перерахунок аркуша вручну (За замовчуванням Excel перераховує аркуш тільки після введення нових даних або редагування існуючих, але не при зміні виділення. Тобто, виділяєте іншу комірку - нічого не відбувається. Натискаєте F9 - аркуш оновлюється, формула перераховується, а виділення оновлюється.

    Щоб робочий аркуш перераховувався автоматично, коли SelectionChange ви можете розмістити цей простий код VBA в модулі коду цільового аркуша, як описано в попередньому прикладі, як показано в попередньому прикладі:

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End Sub

    Код змушує вибраний діапазон/комірку перерахувати, що, в свою чергу, змушує функцію CELL оновити, а умовне форматування відобразити зміну.

    Переваги На відміну від попереднього методу, цей метод не впливає на існуюче форматування, яке ви застосували вручну.

    Недоліки може погіршити продуктивність Excel.

    • Щоб умовне форматування працювало, потрібно змусити Excel перераховувати формулу при кожній зміні виділення (або вручну за допомогою клавіші F9, або автоматично за допомогою VBA). Примусові перерахунки можуть сповільнювати роботу Excel. Оскільки наш код перераховує виділення, а не весь аркуш, негативний ефект, швидше за все, буде помітний тільки на дійсно великих і складних книгах.
    • Оскільки функція CELL доступна в Excel 2007 і вище, метод не буде працювати в більш ранніх версіях.

    Виділення виділеного рядка і стовпця за допомогою умовного форматування і VBA

    У випадку, якщо попередній спосіб значно сповільнює роботу книги, можна підійти до завдання інакше - замість перерахунку аркуша при кожному русі користувача, отримати номер активного рядка/стовпця за допомогою VBA, а потім подати цей номер у функцію ROW() або COLUMN(), використовуючи формули умовного форматування.

    Для цього необхідно здійснити наступні кроки:

    1. Додайте новий чистий аркуш до робочої книги та назвіть його Допоміжний аркуш Єдиним призначенням цього аркуша є зберігання двох чисел, що представляють рядок і стовпець, що містять виділену комірку, так що ви можете безпечно приховати аркуш пізніше.
    2. Вставте наведений нижче VBA у вікно коду робочого аркуша, на якому потрібно реалізувати виділення. Для отримання детальної інструкції зверніться до нашого першого прикладу. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets("Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets("Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating= True End Sub

      Наведений вище код поміщає координати активного рядка і стовпця на аркуш з назвою "Допоміжний аркуш". Якщо на кроці 1 ви назвали свій аркуш інакше, змініть назву аркуша в коді відповідним чином. Номер рядка записується в комірку A2, а номер стовпця - в комірку B2.

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

    А тепер детально розглянемо три основні випадки використання.

    Як виділити активний рядок

    Щоб виділити рядок, в якому знаходиться курсор в даний момент, задайте правило умовного форматування за допомогою цієї формули:

    =ROW()='Допоміжний аркуш'!$A$2

    В результаті користувач може чітко бачити, який рядок обраний в даний момент:

    Як виділити активний стовпець

    Щоб виділити вибраний стовпець, передайте номер стовпця у функцію COLUMN за цією формулою:

    =COLUMN()='Допоміжний аркуш'!$B$2

    Тепер виділена колонка дозволяє комфортно і без зусиль читати вертикальні дані, повністю зосереджуючись на них.

    Як виділити активний рядок і стовпець

    Для того, щоб виділений рядок і стовпець автоматично зафарбувати одним кольором, об'єднайте функції ROW() і COLUMN() в одну формулу:

    =OR(ROW()='Допоміжний аркуш'!$A$2, COLUMN()='Допоміжний аркуш'!$B$2)

    Відповідні дані одразу винесені у фокус уваги, що дозволяє уникнути їх неправильного прочитання.

    Переваги оптимізована продуктивність; працює у всіх версіях Excel

    Недоліки найдовше налаштування

    Ось так можна виділити стовпець і рядок виділеної комірки в Excel. Дякую за увагу і з нетерпінням чекаю зустрічі з вами на нашому блозі наступного тижня!

    Практичний посібник для завантаження

    Підсвічування активного рядка і стовпця (файл .xlsm)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.