This macro will highlight the row and column of the active cell. This will fill the row of the active cell with a solid background color and remove the color when a different cell is selected within the excel spreadsheet. Anytime you select a different cell, the new column and row will be highlighted. This is a great macro for zeroing in on a specific cell during a presentation or just when working in a really big spreadsheet. Also, if you remove the gridlines from the spreadsheet, it can be hard to determine which row or column a cell is in and this will allow you to figure that out much quicker.
This macro will overwrite any previous color in the selected cell and row. That means that if you have a worksheet with a lot of background colors and you use this macro and start selecting cells, the previous background colors will disappear.
To change the color of the highlight change the number in this line of code .ColorIndex = 6.
Where to install the macro: Worksheet
Highlight the Row of the Selected Cell
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Static rr
If rr <> "" Then
With Rows(rr).Interior
.ColorIndex = xlNone
End With
End If
r = Selection.Row
rr = r
With Rows(r).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
Excel VBA Course — From Beginner to Expert
200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides
Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)
View Course
Similar Content on TeachExcel
Make a UserForm in Excel
Tutorial: Let’s create a working UserForm in Excel.
This is a step-by-step tutorial that shows you e…
Excel VBA MsgBox — Message Box Macro
Tutorial: Create a pop-up message box in Excel using VBA Macros. This allows you to show a message t…
Pass Arguments to a Macro Called from a Button or Sheet in Excel
Tutorial: How to pass arguments and values to macros called from worksheets, buttons, and anything e…
Select Ranges in the Worksheet from a UserForm
Tutorial: Select a range in Excel from a UserForm and have that range input into the form so that yo…
NPER Function — Calculate Number of Periods Needed for a Set of Payments in Excel
Tutorial: How to calculate the number of periods required for an investment in order to get the desi…
Count the Occurrences of the Largest or Smallest Value in a Range
Tutorial:
How to count the occurrence of the largest or smallest value in a range; basically, how m…
How to Install the Macro
- Select and copy the text from within the grey box above.
- Open the Microsoft Excel file in which you would like the Macro to function.
- Press «Alt + F11» — This will open the Visual Basic Editor — Works for all Excel Versions.
Or For other ways to get there, Click Here. - On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE’S NAME HERE) and click this.
- If the Macro goes in a Module, Click Here, otherwise continue to Step 8.
- If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.
- If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.
- Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.
- You are now ready to run the macro.
Similar Content
Make a UserForm in Excel
Tutorial: Let’s create a working UserForm in Excel.
This is a step-by-step tutorial that shows you e…
Excel VBA MsgBox — Message Box Macro
Tutorial: Create a pop-up message box in Excel using VBA Macros. This allows you to show a message t…
Pass Arguments to a Macro Called from a Button or Sheet in Excel
Tutorial: How to pass arguments and values to macros called from worksheets, buttons, and anything e…
Excel VBA Course — From Beginner to Expert
200+ Video Lessons
50+ Hours of Video
200+ Excel Guides
Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)
View Course
Skip to content
Как выделить столбец активной строки
На чтение 2 мин. Просмотров 2.5k.
Что делает макрос: При взгляде на таблицу было бы неплохо, если бы Excel автоматически подсвечивал строку и столбец (как показано на рисунке). Этот эффект помогает просматривать вверх и вниз по колонке, а также слева и справа по строке.
Следующий макрос включает эффект, который вы видите на рисунке с помощью простого двойного щелчка. Excel выделяет строку и столбец для ячейки, которая является активной, что значительно повышает вашу способность просматривать и редактировать большую сетку.
Содержание
- Код макроса
- Как код работает
- Как использовать
Код макроса
Private Sub Worksheet_BeforeDoubleClick() 'Шаг 1: Объявить переменные Dim strRange As String 'Шаг 2: Построить строку диапазона strRange = Target.Cells.Address & "," & _ Target.Cells.EntireColumn.Address & "," & _ Target.Cells.EntireRow.Address 'Шаг 3: Передать строку диапазона Range Range(strRange).Select End Sub
Как код работает
- Сначала мы объявляем объект под названием strRange. Он создает контейнер памяти, который мы можем использовать для создания строки диапазона.
- Строка диапазона не более, чем адрес для диапазона. «A1» представляет собой диапазон строки, которая указывает на ячейку A1. «A1:G5» также строка диапазона; она указывает на диапазон ячеек, охватывающий ячейки A1 до G5. На шаге 2 мы строим строку диапазона, которая охватывает двойным щелчком ячейку (так называемый Target в этом макросе), весь активный ряд, и всю активную колонку. Свойства адреса для этих трех диапазонов захвачены и вставлены в переменную strRange.
- На шаге 3 мы вводим переменную strRange в качестве адреса для Range.Select. Это строка кода, которая выдвигает на первый план выбор двойным щелчком.
Как использовать
Для реализации этого макроса, вам нужно скопировать и вставить его в окно кода события Worksheet_BeforeDouble Click. Размещение макроса есть позволяет запускать каждый раз, когда вы дважды щелкните на листе.
- Активируйте редактор Visual Basic, нажав ALT + F11.
- В окне проекта, найти свой проект / имя рабочей книги и нажмите на знак плюс рядом с ней, чтобы увидеть все листы.
- Нажмите на лист, из которого вы хотите, чтобы вызвать код.
- Выберите событие BeforeDoubleClick из событий в раскрывающемся списке.
- Введите или вставьте код во вновь созданном модуле.
- Что делает макрос
- Код макроса
- Как работает макрос
- Как использовать
- Скачать файл
Ссылка на это место страницы:
#zadacha
Было бы неплохо, если бы Excel автоматически подсвечивал строку и столбец (как показано на рисунке).
Этот эффект помогает просматривать вверх и вниз по колонке, а также влево и вправо по строке. Этот макрос включает эффект, который вы видите на рисунке, с помощью двойного щелчка. Excel выделяет строку и столбец для ячейки, которая является активной.
Ссылка на это место страницы:
#formula
Private
Sub
Worksheet_BeforeDoubleClick(
ByVal
Target
As
Range, Cancel
As
Boolean
)
Dim
strRange
As
String
strRange = Target.Cells.Address &
","
& _
Target.Cells.EntireColumn.Address &
","
& _
Target.Cells.EntireRow.Address
Range(strRange).
Select
End
Sub
Ссылка на это место страницы:
#kak
1. Сначала мы объявляем объект под названием strRange. Он создает контейнер памяти, который мы можем использовать для создания строки диапазона.
Строка диапазона — это адрес для диапазона. «A1» представляет собой диапазон строки, которая указывает на ячейку A1. «A1:G5» также строка диапазона; она указывает на диапазон ячеек, охватывающий ячейки A1 до G5.
2. На шаге 2 мы строим строку диапазона, которая охватывает двойным щелчком ячейку (так называемый Target в этом макросе), весь активный ряд, и всю активную колонку. Свойства адреса для этих трех диапазонов захвачены и вставлены в переменную strRange.
3. На шаге 3 мы вводим переменную strRange в качестве адреса для Range.Select. Это строка кода, которая выдвигает на первый план выбор двойным щелчком.
Ссылка на это место страницы:
#touse
Для реализации этого макроса, вам нужно скопировать и вставить его в окно кода события Worksheet_BeforeDouble Click. Это обеспечит запуск макроса каждый раз, когда вы дважды щелкните на листе.
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. В окне проекта, найдите свой проект / имя рабочей книги и нажмите на знак плюс рядом с ним, чтобы увидеть все листы.
3. Нажмите на лист, из которого вы хотите вызвать код.
4. Выберите в выпадающем списке вверху слева параметр Worksheet, а в правом выпадающем списке выберите событие BeforeDoubleClick.
5. Введите или вставьте код во вновь созданном модуле.
Ссылка на это место страницы:
#file
Файлы статей доступны только зарегистрированным пользователям.
1. Введите свою почту
2. Нажмите Зарегистрироваться
3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Подписывайтесь на нас в соц.сетях:
0 / 0 / 0 Регистрация: 27.04.2009 Сообщений: 265 |
|
1 |
|
Как узнать номер строки для активной ячейки?22.09.2009, 09:21. Показов 63242. Ответов 8
Как узнать номер строки для активной ячейки?
0 |
Savelev |
|
22.09.2009, 10:51 |
2 |
ActiveCell.Row |
0 / 0 / 0 Регистрация: 27.04.2009 Сообщений: 265 |
|
22.09.2009, 12:08 [ТС] |
3 |
спасибо
0 |
0 / 0 / 0 Регистрация: 04.06.2017 Сообщений: 3 |
|
15.01.2018, 13:33 |
4 |
а для умной таблицы, можно так сделать?
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
15.01.2018, 14:17 |
5 |
Можно.
1 |
0 / 0 / 0 Регистрация: 04.06.2017 Сообщений: 3 |
|
17.01.2018, 14:56 |
6 |
А как, не подскажете? Будьте добры, если не сложно))
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
17.01.2018, 15:24 |
7 |
Что именно нужно «а для умной таблицы, можно так сделать» ?
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
17.01.2018, 15:53 |
8 |
|||
Stav-ortodox, номер строки в диапазоне данных умной таблицы?
0 |
0 / 0 / 0 Регистрация: 04.06.2017 Сообщений: 3 |
|
17.01.2018, 16:30 |
9 |
Вот, то что нужно! Спаси Господи!!
0 |
Когда приходится работать с большим объемом данных в 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 =АктивнаяСтрока() позволяет нам получить номер текущей строки в которой стала активной любая из ее ячеек. Результат вычисления пользовательской функции =АктивнаяСтрока() сравнивается с результатом функции =СТРОКА(), которая также возвращает номер текущей строки в данном моменте вычисления условного форматирования.
Скачать пример выделения активной строки и столбца цветом
Так как обе функции выполняются при активной ячейке в одной и той же строке их значения равны между собой и возвращают общее логическое значение ИСТИНА. В результате чего происходит выделение строки цветом по условию. Если значение ИСТИНА, тогда присваивается формат цвета для целой активной строки таблицы.