Note: The other languages of the website are Google-translated. Back to English

Як автоматично виділити рядок і стовпець активної комірки в Excel?

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

Автовиділення рядка та стовпця виділеної комірки кодом VBA
Одним клацанням миші виділіть рядок і стовпець вибраної комірки


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

Наступний код VBA може допомогти вам автоматично виділити весь стовпець і рядок поточної комірки на аркуші, виконайте такі дії:

1. Відкривши аркуш, ви автоматично виділите рядок і стовпець активної комірки, клацніть правою кнопкою миші вкладку аркуша та виберіть Переглянути код з контекстного меню.

2. Потім скопіюйте та вставте наступний код VBA у порожнє вікно коду:

Код VBA: автоматичне виділення рядка та стовпця вибраної комірки

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 20200430
Static xRow
Static xColumn
If xColumn <> "" Then
    With Columns(xColumn).Interior
        .ColorIndex = xlNone
    End With
    With Rows(xRow).Interior
        .ColorIndex = xlNone
    End With
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
With Columns(pColumn).Interior
    .ColorIndex = 6
    .Pattern = xlSolid
End With
With Rows(pRow).Interior
    .ColorIndex = 6
    .Pattern = xlSolid
End With
End Sub

3. Потім натисніть інший + Q клавіші разом, щоб повернутися до робочого аркуша, тепер при виборі комірки виділяється весь рядок і стовпець цієї комірки. І він буде динамічно переміщуватися у міру зміни вибраної комірки.

doc-read-layout4

Примітки:

  • 1. У наведеному вище коді ви можете змінити .ColorIndex = 6 колір до іншого кольору, який вам подобається.
  • 2. Цей код VBA застосовується лише до робочого аркуша, який ви вибрали у кроці 2 вище.
  • 3. Якщо ви більше не хочете виділяти стовпець та рядок вибраної комірки, вам потрібно видалити вищезазначений VBA та не встановити заливку для вибраного рядка та стовпця, клацнувши Головна > Колір заливки > Без заповнення.
  • 4. Якщо на вашому аркуші є кольорові клітинки, колір буде втрачено, коли ви клацаєте клітинку та переходите до іншої комірки.

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

Якщо ви новачок у VBA, тут рекомендуємо Kutools для Excel's Макет читання корисність. Ця утиліта допомагає легко виділити рядок і стовпець виділеної комірки в Excel, як показано нижче. Завантажте та спробуйте зараз! (30-денний безкоштовний маршрут)

Давайте подивимося, як застосувати Kutools для ExcelАвтора Макет читання функція виділення цілих рядків і стовпців діапазону комірок.

1. клацання Кутулс > Макет читання. Дивіться знімок екрана:

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

примітки:

  • 1. Ви можете змінити налаштування макета читання відповідно до своїх потреб, як показано на знімку екрана нижче.
  • 2. Ви можете скасувати цю утиліту, знявши прапорець Макет читання при читання випадаючий список.
  • 3. Це Читання макета Ця функція застосовується до всіх аркушів у вашій книзі.
  • 4. Це Читання макета Ця функція буде вимкнена під час наступного запуску книги.

  Якщо ви хочете отримати безкоштовну пробну версію (30 днів) цієї утиліти, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Одним клацанням миші виділіть рядок і стовпець вибраної комірки


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (50)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Привіт, наведений код чудово працює для виділення рядка та стовпця активної клітинки. але вихідний колір клітинки разом із налаштуваннями кольору стовпців і рядків втрачено. Як це подолати?
Цей коментар був мінімізований модератором на сайті
Ось моя версія для виділення поточного рядка (від A до AK). Щоб не знищити забарвлення клітинок, я використовую червону рамку... плюс вона відновлює бажану межу до рядка зліва. Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim lRow As Long, lCol As Long Static lPrevRow As Long 'Відновити попередній активний рядок до...світло-блакитної пунктирної лінії Якщо lPrevRow > 0 Тоді Range("A" & lPrevRow, "AK") & lPrevRow).BorderAround Weight:=xlHairline, Color:=RGB(162, 200, 255) End If 'Виділити поточний рядок з червоною рамкою lRow = Target.Row Range("A" & lRow, "AK" & lRow) .BorderAround Weight:=xlThin, Color:=RGB(255, 0, 0) lPrevRow = lRow End Sub
Цей коментар був мінімізований модератором на сайті
Ой! чоловіче, працює як шарм!!! чудово
Цей коментар був мінімізований модератором на сайті
ви зараз геній, як щодо рядків і стовпців?
Цей коментар був мінімізований модератором на сайті
ПРИВІТ, У МЕНЕ ТАКОВА ПРОБЛЕМА З SURESH. ЧИ ВИ МОЖЕТЕ НАДАТИ МЕНІ ПОВЕРЕНИЙ КОД, ЩО НЕ ВИТРІВАЄТЬСЯ ОРИГІНАЛЬНИЙ КОЛІР КОЛІТКИ Я ВИКОРИСТОВУЮ ЦЕ: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'UpticCon Stawl x20140318m x6m "" Тоді With Columns(xColumn).Interior .ColorIndex = xlNone End With Rows(xRow).Interior .ColorIndex = xlNone End With End Якщо pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn With = pColum( pColumn).Interior .ColorIndex = 6 .Pattern = xlSolid End With Rows(pRow).Interior .ColorIndex = XNUMX .Pattern = xlSolid End With End Sub
Цей коментар був мінімізований модератором на сайті
Не вдалося змусити це працювати - будь ласка, допоможіть, дякую :-)
Цей коментар був мінімізований модератором на сайті
«Будь ласка, допоможіть» — ви очікуєте відповіді з таким туманним проханням, і без зусиль пояснити проблему?
Цей коментар був мінімізований модератором на сайті
Дякую!
Цей коментар був мінімізований модератором на сайті
Це ідеальний код, дякую!!!!! немає проблем із переміщенням від клітинки до клітинки та залишаючи сліди яскравих місць і контурів.
Цей коментар був мінімізований модератором на сайті
Я використовую таблицю вставки до своїх даних, і вона не змінює оригінальне забарвлення
Цей коментар був мінімізований модератором на сайті
У 2010 році ця опція тепер доступна для тих, хто не програмує, якщо у вас є вкладка «Розробник». У розділі Розробник натисніть Властивості. Установіть для EnableOutlining значення True. Обмеження: здається, це стосується лише одного аркуша за раз, хоча його легко встановити для інших аркушів, натискаючи вкладки внизу (залишаючи діалогове вікно Властивості відкритим). Чому Excel не робить це доступним у розділі Параметри, ну, це Microsoft.
Цей коментар був мінімізований модератором на сайті
Привіт, після введення коду функція "скасувати" більше не працює. Хтось може допомогти?
Цей коментар був мінімізований модератором на сайті
Привіт! Мені дуже подобається цей код, але, як сказав Суреш, він видаляє оригінальні кольори клітинок! Як я можу зберегти свої оригінальні кольори клітинок?? Будь ласка, дайте відповідь, дякую!
Цей коментар був мінімізований модератором на сайті
Це працює блискуче. Чи є спосіб зробити так, щоб він не відображався під час друку?
Цей коментар був мінімізований модератором на сайті
Саме те, що я шукав. Дякую!
Цей коментар був мінімізований модератором на сайті
Щоб зберегти колір клітинки, вам доведеться створити умовне форматування для клітинок.
Цей коментар був мінімізований модератором на сайті
Чи плануєте додати функціональність Mac для Kutools?
Цей коментар був мінімізований модератором на сайті
Як я можу змінити кольори смуг? Дякую за це чудове рішення. З повагою, Тон
Цей коментар був мінімізований модератором на сайті
як я можу це зупинити, якщо я хочу, щоб це припинилося??
Цей коментар був мінімізований модератором на сайті
Ось код, який я використав лише для рядка (сіре виділення): Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Оновлення 20140318 Static xRow If xRow "" Then With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = виділення.Row xRow = pRow з рядками(pRow).Interior .ColorIndex = 15 .Pattern = xlSolid End With End Sub
Цей коментар був мінімізований модератором на сайті
Копіювання та вставка вашого коду не працювало належним чином, але після виправлення синтаксичних помилок це спрацювало дивовижно! Дякую. Ось робочий код для виділення (жовтим) лише рядка: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Оновлення 20140318 Static xRow If xRow "" Then With Rows(xRow).Interior .ColorIndex = xlRow End With End If p = Виділення.Рядок xRow = pРядок із рядками(pRow).Інтер'єр .ColorIndex = 6 .Візерунок = xlSolid End With End Sub
Цей коментар був мінімізований модератором на сайті
Браво.. саме те, що я шукав.....велике спасибі!!
Цей коментар був мінімізований модератором на сайті
Коли я знову відкриваю свою робочу книгу, виділений стовпець із попереднього сеансу залишається – і змінюється, коли я переміщуюся по аркушу в новому сеансі. Чи є спосіб «очистити» попередній сеанс кожного разу, коли відкривається книга?
Цей коментар був мінімізований модератором на сайті
Це працює, якщо у вас немає кольорів не в умовному форматуванні. Просто додайте ще два з петлями. Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Оновлення 20140318 Static xRow Static xColumn If xColumn "" Then With Rows(xRow).Interior .ColorIndex = xlNone End With End If pRow = With Rows.Row xR) .Interior .ColorIndex = 6 .Pattern = xlSolid End With Rows(pRow - 1).Interior .ColorIndex = 0 .Pattern = x1Solid End With With Rows(pRow + 1).Interior .ColorIndex = 0 .Solid End = With Rows(pRow + 1). Кінець суб
Цей коментар був мінімізований модератором на сайті
ЯК Я МОЖУ ЦЕ ЗРОБИТИ, ЯКЩО Я УЖЕ КОЛЬОРОВИЙ ЛИСТ.
Цей коментар був мінімізований модератором на сайті
Чудова стаття!. Рятувальник для мене. І якщо ви хочете, щоб фактична клітинка була виділена жовтим, а рядок/комірки сірим, це код: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Оновити 20151216 Static xRow Static xColumn Якщо xColumn "" Потім зі Columns(xColu) ).Interior .ColorIndex = xlNone End With Rows(xRow).Interior .ColorIndex = xlNone End With End Якщо pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With ColumnsInteriorx.). 15 .Pattern = xlSolid End With Rows(pRow).Interior .ColorIndex = 15 .Pattern = xlSolid End With Selection.Interior.ColorIndex = 6 End Sub
Цей коментар був мінімізований модератором на сайті
Виправте код таким чином: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Оновити 20151216 Static xRow Static xColumn If xColumn "" Then With Columns(xColumn).Interior .ColorIndex = xlInteriorNonexR With RowsIndex(xColumn). xlNone End With End Якщо pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With Columns(pColumn).Interior .ColorIndex = 15 .Pattern = xlSolid End With Rows(pRow).Interior.Interior. Шаблон = xlSolid End With Selection.Interior.ColorIndex = 15 End Sub [цитата]Чудова стаття!. Рятувальник для мене. І якщо ви хочете, щоб фактична клітинка була виділена жовтим, а рядок/комірки сірим, це код: Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Оновити 6 Static xRow Static xColumn Якщо xColumn "" Потім зі стовпцями (xColumn) ).Interior .ColorIndex = xlNone End With Rows(xRow).Interior .ColorIndex = xlNone End With End Якщо pRow = Selection.Row pColumn = Selection.Column xRow = pRow xColumn = pColumn With ColumnsInteriorx.). 20151216 .Pattern = xlSolid End With Rows(pRow).Interior .ColorIndex = 15 .Pattern = xlSolid End With Selection.Interior.ColorIndex = 15 End SubВід Вісенте[/ Цитата]
Цей коментар був мінімізований модератором на сайті
Привіт. Як я можу висвітлити весь рядок, якщо одна з клітинок об’єднана. Я бачу, що kutool може зробити рядок через комірку злиття. Будь ласка, допоможіть мені це рішення
Цей коментар був мінімізований модератором на сайті
Я змінив ваш код із виділення інтер’єру на створення червоних меж.
.BorderAround Вага:=xlThick, Колір:=vbRed
Вибираю клітинку, межі стають червоними. Чудово. Копіюю, вибираю іншу клітинку, ці межі стають червоними, але буфер обміну очищається. Я не можу зрозуміти, як використовувати межі та зберігати функцію копіювання/вставки.
Будь-які пропозиції?
Цей коментар був мінімізований модератором на сайті
можете поділитися всім кодом?
Цей коментар був мінімізований модератором на сайті
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

'Оновлення 20192021
Статичний xRow
Якщо xRow <> "" Тоді
Рядки(xRow). BorderAround Weight:=xlThin, Color:=vbЧорний
End If
pRow = Виділення.Рядок
xРядок = pРядок
Рядки(pRow). BorderAround Weight:=xlThick, Color:=vbRed
End Sub
Цей коментар був мінімізований модератором на сайті
як запобігти видаленню кнопок скасування та повторення, якщо цей макрос не використовує Kutools
Цей коментар був мінімізований модератором на сайті
Хороший день,
Вибач за те. Проблему скасування та повторення в макросі не можна вирішити.
Цей коментар був мінімізований модератором на сайті
VBA для виділення однієї клітинки працює, але ця ні.
Цей коментар був мінімізований модератором на сайті
Дякую, що опублікували це! Це дуже корисно для звірки чеків за допомогою електронної таблиці.
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця