VBA Пошук останнього рядка в Excel (5 способів)

  • Поділитися Цим
Hugh West

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

Щоб зробити це пояснення наочним, я використаю приклад набору даних. У наборі даних є 4 стовпці, що представляють інформацію про продажі. Ці стовпці мають наступний вигляд Продавець, Регіон, Продукт, і Ціна .

Завантажити До практики

VBA Пошук останнього рядка.xlsm

Способи пошуку останнього рядка в Excel за допомогою VBA

1. використання спеціальних комірок для пошуку останнього рядка

Ви можете скористатися SpecialCells метод знаходження останнього рядка з використанням VBA .

По-перше, відкрийте Розробник вкладку>> потім виберіть Visual Basic

У новому вікні Microsoft Visual Basic для додатків з'явиться.

Тепер, від Вставка вибрати Модуль

A Модуль буде відкрито.

Після цього пропишіть наступний код в рядку Модуль .

 Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub 

Тут я створив підпроцедуру з назвою LastRow_SpecialCells де a Довгий тип змінної LastRow було оголошено.

Потім визначили змінну з допомогою функції Range.SpecialCells Тут я використовував стовпчик A ( А:А ) в якості діапазону. За умови xlCellTypeLastCell в якості параметру типу SpecialCells поверне останню комірку діапазону (для цього випадку зі стовпчика A ).

Я використовував вікно повідомлень, щоб показати результат.

Після цього, Зберегти код і поверніться на робочий аркуш.

Знову ж таки, відкриваємо Вид вкладка>> від Макроси вибрати Перегляд макросів

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

Наразі, від Назва макросу виберіть пункт LastRow_SpecialCells також виберіть робочу книгу в межах Макроси в .

Нарешті, Біжи обраний Макрос .

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

2. використання Rows.Count для непорожніх комірок

Ви можете скористатися Rows.Count метод знаходження останнього рядка з використанням VBA .

А тепер відкрийте Розробник вкладку>> потім виберіть Visual Basic

У новому вікні Microsoft Visual Basic для додатків з'явиться.

Тепер, від Вставка вибрати Модуль

A Модуль буде відкрито.

Після цього пропишіть наступний код в рядку Модуль .

 Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub 

Тут я створив підпроцедуру з назвою LastRow_NonEmpty, де a Довгий тип змінної LastRow було оголошено.

Негайно, CELLS(Rows.Count, 1) порахує, скільки рядків є в першому стовпчику. Потім використовується End(xlUp).Row тепер це знайде останній використаний рядок у діапазоні Excel.

Зрештою, я використав вікно повідомлень, щоб показати результат.

Тоді, Зберегти код і поверніться на робочий аркуш.

Ось, відкрийте Вид вкладка>> від Макроси вибрати Перегляд макросів

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

Потім, з боку Назва макросу виберіть пункт LastRow_NonEmpty також виберіть робочу книгу в межах Макроси в .

Нарешті, Біжи обраний Макрос .

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

3. використання функції Rows.Count для будь-якого вибраного стовпця

Використовуючи будь-яку обрану колонку в VBA, можна знайти останній рядок.

По-перше, відкрийте Розробник вкладку>> потім виберіть Visual Basic

У новому вікні Microsoft Visual Basic для додатків з'явиться.

Тепер, від Вставка вибрати Модуль

A Модуль буде відкрито.

Після цього пропишіть наступний код в рядку Модуль .

 Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub 

Тут я створив підпроцедуру з назвою LastRow_AnyColumn, де a Довгий тип змінної LastRow було оголошено.

Потім, в рамках Діапазон враховуючи стовпчик B як параметр, а також Rows.Count , то буде підраховано, скільки рядків є в даному стовпчику B Далі, використовуючи End(xlup). Рядок яка знайде останній використаний рядок у діапазоні Excel.

Нарешті, я використовував вікно повідомлень, щоб показати результат.

Наступний, Зберегти код і поверніться на робочий аркуш.

Потім відкрийте Вид вкладка>> від Макроси вибрати Перегляд макросів

Ось, це діалогове вікно з'явиться.

Наразі, від Назва макросу виберіть пункт LastRow_AnyColumn також виберіть робочу книгу в межах Макроси в .

Нарешті, Біжи обраний Макрос .

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

Схожі читання:

  • VBA Пошук у стовпці в Excel (7 підходів)
  • Пошук і заміна за допомогою VBA (11 способів)
  • Пошук точного збігу за допомогою VBA в Excel (5 способів)
  • Як знайти рядок за допомогою VBA в Excel (8 прикладів)

4. використання використаного діапазону для знаходження останнього рядка

Ви можете скористатися UsedRange властивість робочого аркушу для знаходження останнього рядка з допомогою VBA .

А тепер відкрийте Розробник вкладку>> потім виберіть Visual Basic

Після цього відкрилося нове вікно Microsoft Visual Basic для додатків з'явиться.

Тепер, від Вставка вибрати Модуль

A Модуль буде відкрито.

Після цього, впишіть наступний код в поле Модуль .

 Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Останній рядок: " & LastRow End Sub 

Тут я створив підпроцедуру з назвою LastRow_UsedRange, де a Довгий тип змінної LastRow було оголошено.

Далі визначаємо змінну з допомогою функції Активний аркуш.Використаний діапазон.Рядки також надається метод Активний аркуш.Використаний діапазон.Рядки.Кількість як параметр Активний аркуш.Використаний діапазон.Рядки це поверне останній рядок.

Я використовував вікно повідомлень, щоб показати результат.

Негайно, Зберегти код і поверніться на робочий аркуш.

Потім відкрийте Вид вкладка>> від Макроси вибрати Перегляд макросів

Далі, в наступному. діалогове вікно з'явиться.

Потім, з боку Назва макросу виберіть пункт LastRow_UsedRange також виберіть робочу книгу в межах Макроси в .

Нарешті, Біжи обраний Макрос .

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

5. використання Range.Find для знаходження останнього рядка

Ви можете скористатися Range.Find метод знаходження останнього рядка з використанням VBA .

А тепер відкрийте Розробник вкладку>> потім виберіть Visual Basic

Тут відкривається нове вікно Microsoft Visual Basic для додатків з'явиться.

Тепер, від Вставка вибрати Модуль

A Модуль буде відкрито.

Після цього пропишіть наступний код в рядку Модуль .

 Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 MsgBox "Last Row:" & LastRow End Sub 

Тут я створив підпроцедуру з назвою Range_Find_Method, де a Довгий тип змінної LastRow було оголошено.

Потім визначили змінну з допомогою функції Cells.Find Тут оголошено 7 параметрів. В методі Що використаний мною параметр ("*"), який знайде першу непорожню комірку. Дано A1 оскільки діапазон в Після параметр для запуску. В Поглянь наданий параметр xlPart переглянути будь-яку частину тексту всередині комірки.

LookIn:=xlФормули параметр буде шукати формули, якщо такі є. Порядок пошуку:=xlByRows буде рухатися справа наліво, а також циклічно проходить по кожному рядку, поки не знайде непорожню комірку.

MatchCase:=False параметр підкаже Знайти не враховувати великі та малі літери. При виявленні непустого рядка зупиняється і повертає номер рядка.

Я використовував вікно повідомлень, щоб показати результат.

Негайно, Зберегти код і поверніться на робочий аркуш.

Ось, відкрийте Вид вкладка>> від Макроси вибрати Перегляд макросів

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

Наразі, від Назва макросу виберіть пункт Метод_знаходження_діапазону також виберіть аркуш в межах Макроси в .

Нарешті, Біжи обраний Макрос .

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

Висновок

У цій статті я пояснив 5 способів, як VBA знайти останній рядок в Excel. Ви можете скористатися будь-яким із способів, щоб знайти останній рядок. Якщо у вас виникли будь-які питання або сумніви щодо цих методів, ви можете прокоментувати їх нижче.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.