Зміст
Ми можемо знайти номери рядків у Excel багатьма способами, але VBA пропонує більше функцій та налаштувань, за допомогою яких ми можемо знаходити номери рядків розумними способами. Сьогодні в цій статті ми покажемо 4 корисні макроси для пошуку номера рядка в Excel за допомогою VBA.
Завантажити Практичний посібник
Ви можете завантажити безкоштовну робочу книгу Excel звідси і тренуватися самостійно.
Знайти номер рядка за допомогою VBA.xlsm4 Макроси для знаходження номера рядка за допомогою VBA в Excel
Ознайомтеся з нашим набором даних, який ми будемо використовувати для вивчення методів, які представляють деякі продажі продавців у різних регіонах.
Макрос 1: VBA для знаходження номера рядка шляхом зміни виділення
Для початку скористаємося макросом в Excel VBA знайти номер рядка, виділивши будь-яку комірку. Це означає, що якщо просто виділити будь-яку використану комірку, то макрос миттєво покаже номер рядка. Для цього потрібно виконати такі дії зберігайте коди в аркуші а не в модулі.
Сходинки:
- Клацніть правою кнопкою миші по заголовку аркуша і виберіть Переглянути код від контекстне меню .
- Потім напишіть наступні коди
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rnumber As Integer Rnumber = ActiveCell.row If ActiveCell.Value "" Then MsgBox "Номер рядка виділеної комірки: " & Rnumber End If End Sub
- Пізніше не потрібно запускати коди, просто поверніться до свого аркуша.
Розбивка коду:
- По-перше, я створив Приватний підводний човен процедура - Робочий аркуш_Зміна_вибору .
- Потім оголошується змінна Rnumber як Ціле число .
- ряд визначить номер рядка активної комірки.
- Далі в рамках заходу відбулася презентація Якщо оператор перевірить активну комірку на порожню чи ні, а потім MsgBox покаже результат.
- Тепер просто клацніть на будь-яку використану комірку, і вона покаже Вам номер рядка.
Читати далі: Excel VBA: Пошук рядка в стовпці та повернення номера рядка
Макрос 2: Знайти номер рядка активної комірки за допомогою VBA
Цей макрос поверне номер рядка активної комірки у вказаній комірці нашого аркуша. Отже, нам доведеться згадати ім'я аркуша та вихідну комірку в наших кодах. Тут ми використаємо Комірка D14 як наш вихідний осередок.
Сходинки:
- Преса ALT + F11 для відкриття Вікно VBA .
- Далі, щоб вставити новий модуль, натисніть наступну кнопку: Вставка> Модуль .
- Після цього введіть в модулі наступні коди
Sub Find_Row_Number_of_an_Active_Cell() Dim wSheet As Worksheet Set wSheet = Worksheets("Активна комірка") wSheet.Range("D14") = ActiveCell.row End Sub
- Потім поверніться до свого аркуша.
Розбивка коду:
- Ось, Знайти_номер_рядка_з_активної_комірки() це Sub
- На сьогоднішній день, на жаль, це не так. wSheet декларується як Робочий аркуш
- Тоді ж відбулася Набір оператор виділить активну комірку
- Діапазон поверне номер рядка у комірці виводу.
- Тепер виділіть комірку і натисніть наступним чином: Розробник> Макроси .
- Після появи в Макрос просто виберіть назву макросу і натисніть кнопку Біжи .
Незабаром після цього ви побачите, що номер рядка вибраної комірки повертається в нашу вихідну комірку.
Ви можете бачити, що B8 вибрано комірку, тому вихідним результатом є 8.
Читати далі: Як отримати номер рядка поточної комірки в Excel (4 швидких способи)
Схожі читання
- Як збільшити номер рядка у формулі Excel (6 зручних способів)
- Отримайте номер рядка з діапазону за допомогою Excel VBA (9 прикладів)
- Як повернути номер рядка збігу комірок в Excel (7 способів)
- Як отримати номер рядка за значенням комірки в Excel (5 способів)
Макрос 3: VBA для знаходження номера рядка за відповідністю значення
Якщо ви хочете знайти номер рядка шляхом пошуку значення, то цей макрос для вас. Вам потрібно буде вказати шукане значення і номер стовпця в кодах, як показано на зображенні нижче.
Сходинки:
- Виконати перші два кроки з попереднього способу вставити новий модуль.
- Потім вставте в нього наступні коди
Sub Find_Row_Matching_a_Value() Dim wBook As Workbook Dim wSheet As Worksheet Dim fCell As Range Set wBook = ActiveWorkbook Set wSheet = ActiveSheet Const Matching_Value As String = "Luka" Set fCell = wSheet.Range("B:B").Find(What:=Matching_Value) If Not fCell Is Nothing Then MsgBox (Matching_Value & "Значення, що збігається, міститься в рядку: "& fCell.row") Else MsgBox (Matching_Value & "Значення, що збігається, не знайдено") EndIf End Sub
- Після цього поверніться до свого аркуша.
Розбивка коду:
- Тут функція Find_Row_Matching_a_Value() є функцією Sub
- І wBook і wSheet заявляються як Робочий аркуш і fCell декларується як Діапазон .
- На сьогоднішній день, на жаль, це не так. wBook і wSheet встановлюються для ActiveWorkbook і ActiveSheet .
- Const буде введеним значенням для пошуку.
- До зустрічі, Діапазон буде здійснювати пошук значення по згаданому стовпчику.
- Далі, в рамках заходу, відбулася презентація Якщо і Інакше оператор виведе результат з використанням MsgBox .
- До зустрічі, виконати 5-й крок з попереднього способу для відкриття Макрос діалогове вікно.
- Виберіть пункт назва макросу і просто натисніть Біжи .
Незабаром у вікні сповіщення з'явиться номер рядка.
Читати далі: Excel VBA: повернення номера рядка зі значенням (5 підходящих способів)
Макрос 4: Кнопка для пошуку номера рядка
У нашому останньому методі ми покажемо вам найрозумніший метод визначення номера рядка за допомогою VBA Зробимо кнопку і пов'яжемо з нею макрос, при натисканні на який відкриється вікно введення, де ми можемо ввести шукане значення, для якого нам потрібен номер рядка. Попередній макрос міг шукати по вказаному стовпчику, а цей макрос може шукати по будь-якому стовпчику, в будь-якому місці аркуша.
Сходинки:
- Знову виконати перші два кроки з другого способу вставити новий модуль.
- Далі вставити в нього наступні коди
Sub Find_Row_Number() Dim mValue As String Dim mrrow As Range mValue = InputBox("Вставити значення") Set mrrow = Cells.Find(What:=mValue, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False) If mrrow Is Nothing Then MsgBox ("Немає збігу") Else MsgBox (mrrow.row) End If End Sub
- Потім поверніться до свого аркуша.
Розбивка коду:
- По-перше, я створив Sub procedure Find_Row_Number().
- Далі оголошуються дві змінні, мЗначення як Рядок і ряд як Діапазон .
- Потім використовували InputBox щоб вставити значення.
- Пізніше, в ході зустрічі, яка відбулася в Києві, було підписано Набір і Якщо знайде номер рядка, якщо він не пустий.
- Насамкінець, в рамках проекту MsgBox покаже результат.
- Пізніше натисніть Розробник> Вставка а потім виберіть пункт Кнопка команда з боку Розділ "Елементи управління формою .
- Тоді ви отримаєте знак плюс за допомогою курсору перетягніть в будь-яке місце, натиснувши на аркуш відповідно до бажаного розміру, а потім відпустіть клавішу.
- Після відпускання миші на екрані з'явиться Призначити макрос діалогове вікно відкриється автоматично.
- Виберіть пункт назва макросу як зазначено в кодексах.
- Тоді просто натисніть ГАРАЗД. .
- Далі натискаємо правою кнопкою миші на кнопку та обираємо Редагувати текст для редагування назви кнопки.
- Введіть назву кнопки, потім клацніть в будь-якому місці за межами кнопки і назва буде змінена.
- Тепер натисніть на кнопку, відкриється вікно для введення даних.
- Нарешті, просто вставте значення пошуку і натисніть ГАРАЗД. .
Тепер подивіться, він показує номер рядка, в якому знаходиться знайдене значення.
Читати далі: Пошук рядка у стовпці та повернення номера рядка в Excel (7 способів)
Висновок
Сподіваюся, описані вище процедури будуть достатньо хороші, щоб знайти номер рядка в Excel за допомогою VBA. Не соромтеся задавати будь-які питання в коментарях і, будь ласка, дайте мені зворотний зв'язок. Відвідайте ExcelWIKI, щоб дізнатися більше.