Макросы в excel активная строка

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

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

  1. Select and copy the text from within the grey box above.
  2. Open the Microsoft Excel file in which you would like the Macro to function.
  3. Press «Alt + F11» — This will open the Visual Basic Editor — Works for all Excel Versions.
     Or For other ways to get there, Click Here.
  4. 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.
  5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.
  6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.
  7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.
  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.
  9. 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

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 выделяет строку и столбец для ячейки, которая является активной, что значительно повышает вашу способность просматривать и редактировать большую сетку.

Содержание

  1. Код макроса
  2. Как код работает
  3. Как использовать

Код макроса

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

Как код работает

  1. Сначала мы объявляем объект под названием strRange. Он создает контейнер памяти, который мы можем использовать для создания строки диапазона.
  2. Строка диапазона не более, чем адрес для диапазона. «A1» представляет собой диапазон строки, которая указывает на ячейку A1. «A1:G5» также строка диапазона; она указывает на диапазон ячеек, охватывающий ячейки A1 до G5. На шаге 2 мы строим строку диапазона, которая охватывает двойным щелчком ячейку (так называемый Target в этом макросе), весь активный ряд, и всю активную колонку. Свойства адреса для этих трех диапазонов захвачены и вставлены в переменную strRange.
  3. На шаге 3 мы вводим переменную strRange в качестве адреса для Range.Select. Это строка кода, которая выдвигает на первый план выбор двойным щелчком.

Как использовать

Для реализации этого макроса, вам нужно скопировать и вставить его в окно кода события Worksheet_BeforeDouble Click. Размещение макроса есть позволяет запускать каждый раз, когда вы дважды щелкните на листе.

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. В окне проекта, найти свой проект / имя рабочей книги и нажмите на знак плюс рядом с ней, чтобы увидеть все листы.
  3. Нажмите на лист, из которого вы хотите, чтобы вызвать код.
  4. Выберите событие BeforeDoubleClick из событий в раскрывающемся списке.
  5. Введите или вставьте код во вновь созданном модуле.

BeforeDoubleClick

  1. Что делает макрос
  2. Код макроса
  3. Как работает макрос
  4. Как использовать
  5. Скачать файл

Ссылка на это место страницы:
#zadacha

Было бы неплохо, если бы Excel автоматически подсвечивал строку и столбец (как показано на рисунке). 

Этот эффект помогает просматривать вверх и вниз по колонке, а также влево и вправо по строке. Этот макрос включает эффект, который вы видите на рисунке, с помощью двойного щелчка. Excel выделяет строку и столбец для ячейки, которая является активной. 

Ссылка на это место страницы:
#formula

  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2. Dim strRange As String
  3. strRange = Target.Cells.Address & "," & _
  4. Target.Cells.EntireColumn.Address & "," & _
  5. Target.Cells.EntireRow.Address
  6. Range(strRange).Select
  7. 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, номер строки в диапазоне данных умной таблицы?

Visual Basic
1
activecell.Row-activecell.ListObject.DataBodyRange.Row+1



0



0 / 0 / 0

Регистрация: 04.06.2017

Сообщений: 3

17.01.2018, 16:30

9

Вот, то что нужно! Спаси Господи!!



0



Когда приходится работать с большим объемом данных в Excel, где строки сильно растянуты и не умещаются в один экран, сложно сравнить значения в одной и той же строке. Постоянно приходится передвигать горизонтальную полосу прокрутки. Работа была бы более удобной если бы целая активная строка была бы выделена цветом – как курсор на целую строку. Чтобы выделить активную строку или столбец цветом, создадим свою функцию в Excel с помощью макроса и с комбинируем ее с условным форматированием.

Подсветка строки в Excel цветом

Чтобы создать свой широкий курсов на целую строку в Excel, необходимо создать макрос и использовать его вместе с условным форматированием. Для примера создадим таблицу с широкими строками и большим количеством столбцов. Нам нужно выделить строку цветом по условию Excel. Например, если активная ячейка находится в строке 2, тогда выделить цветом всю строку 2 (в пределах таблицы или на весь лист). Для примера создадим таблицу с широкими строками и большим количеством столбцов:

Исходная таблица.

Подсветка текущей строки в Excel цветом:

  1. Откройте редактор VBA для этого выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.
  2. В правом окне к активному проекту добавьте новый модуль. Для того в редакторе VBA выберите опцию: «Insert»-«Module»
  3. В окне модуля вставьте этот VBA-код макроса:
  4. VBA-код макроса.

  5. Не закрывая окно VBA-редактора перейдите на рабочий лист с исходной таблицей. Выделите целую вторую строку таблицы A2:H2 и выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматированных ячеек:».
  6. Использовать формулу.

  7. В полю ввода введите формулу:
  8. АктивнаяСтрока.

  9. Щелкните по кнопке «Формат» и на вкладке «Заливка» укажите зеленый цвет. На всех окнах жмем ОК.
  10. Формат.

  11. Скопируйте вторую строку таблицы.
  12. Копируем вторую строку.

  13. Выделите остальные строки и выберите инструмент: «ГЛАВНАЯ»-«Вставить»-«Специальная вставка»-«Форматы» (или нажмите комбинацию клавиш CTRL+ALT+V, потом отметить форматы и нажать ОК). Или воспользуйтесь инструментом: «ГЛАВНАЯ»-«Буфер обмена»-«Формат по образцу».
  14. Специальная вставка.

  15. Вернитесь к редактору VBA и в окне «Project» дважды щелкните по «Лист1». В появившемся окне вставьте следующий VBA-код макроса:
  16. Project.

  17. Сохраните и закройте редактор VBA.

Широкий курсор.

В результате происходит выделение строки условным форматированием только там, где находится активная ячейка. Эффект широкого курсора таблицы для комфортного просмотра данных с большим объемом информации. Сделав активной любую ячейку таблицы и сразу же выделяется цветом строка в которой находится данная ячейка.



Полезный вопрос! А как же выделить активный столбец цветом? Аналогичным методом реализовывается с помощью макроса не только подсветка цветом активной строки, но и столбца. Для этого:

  1. В модуль где находится код подсветки строки VBA-макроса, добавим код новой функции АктивныйСтолбец:
  2. Код VBA.

  3. Добавим новое правило в условном форматировании для нашей таблицы в диапазоне A1:A7. Теперь в новом правиле пишем функцию АктивныйСтолбец(), а вместо функции СТРОКА – СТОЛБЕЦ. И указываем синий цвет форматирования заливки ячейки.
  4. АктивныйСтолбец.

  5. Проверим все созданные правила для таблицы. Перейдите в ячейку A2 и ввыберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Управление правилами». Диспетчер правил условного форматирования должен выглядеть так:
  6. Диспетчер правил.

  7. Скопируйте формат столбца A1:A7 в остальные столбцы таблицы диапазона B1:H7. Например, с помощью инструмента: «ГЛАВНАЯ»-«Буфер обмена»-«Формат по образцу».
  8. Формат по образцу.

  9. Результат превышает ожидания. Идеальный курсор для просмотра огромных таблиц с большим количеством данных на множестве строк и столбцов:

Крестообразный курсор.

Принцип действия создания пользовательского курсора для таблицы

Применяемая в условном форматировании созданная нами функция VBA =АктивнаяСтрока() позволяет нам получить номер текущей строки в которой стала активной любая из ее ячеек. Результат вычисления пользовательской функции =АктивнаяСтрока() сравнивается с результатом функции =СТРОКА(), которая также возвращает номер текущей строки в данном моменте вычисления условного форматирования.

Скачать пример выделения активной строки и столбца цветом

Так как обе функции выполняются при активной ячейке в одной и той же строке их значения равны между собой и возвращают общее логическое значение ИСТИНА. В результате чего происходит выделение строки цветом по условию. Если значение ИСТИНА, тогда присваивается формат цвета для целой активной строки таблицы.

Понравилась статья? Поделить с друзьями:
  • Макросы в excel для склада
  • Макросы в excel vba тело
  • Макросы в excel для работы с графиками
  • Макросы в excel vba самоучитель с примерами
  • Макросы в excel для последовательности