Зміст
У 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. Ви можете скористатися будь-яким із способів, щоб знайти останній рядок. Якщо у вас виникли будь-які питання або сумніви щодо цих методів, ви можете прокоментувати їх нижче.