Съдържание
В VBA можете да използвате различни методи за намиране на последния ред. В тази статия ще обясня различни методи за намиране на последния ред в Excel.
За да направя това обяснение видимо, ще използвам примерен набор от данни. В набора от данни има 4 колони, представляващи информация за продажбите. Тези колони са Търговски представител, регион, продукт, и Цена .
Изтегляне За практика
VBA Намиране на последния ред.xlsmНачини за VBA Намиране на последния ред в Excel
1. Използване на SpecialCells за намиране на последния ред
Можете да използвате SpecialCells метод за намиране на последния ред с помощта на VBA .
Първо отворете Разработчик tab>> след това изберете 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 ( A:A ) като обхват. xlCellTypeLastCell като параметър на типа на SpecialCells , това ще върне последната клетка от обхвата (в този случай от колоната A ).
Използвах кутия за съобщения, за да покажа резултата.
След това, Запазете кода и се върнете в работния лист.
Отново отворете Вижте tab>> от Макроси >> изберете Преглед на макроси
Тогава a диалогов прозорец ще се появи.
Сега, от Име на макрос изберете LastRow_SpecialCells също така изберете работната книга в Макроси в .
Накрая, Изпълнявайте избрания Macro .
По този начин ще се появи поле за съобщение, показващо номера на последния ред.
2. Използване на Rows.Count за непълни клетки
Можете да използвате Rows.Count метод за намиране на последния ред с помощта на VBA .
Сега отворете Разработчик tab>> след това изберете 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, в която Дълъг вид на променливата LastRow е обявена.
Сега, CELLS(Rows.Count, 1) ще преброи колко реда има в първата колона. След това използвайте End(xlUp).Row сега това ще намери последния използван ред в обхвата на Excel.
Накрая използвах кутия за съобщения, за да покажа резултата.
След това, Запазете кода и се върнете в работния лист.
Тук отворете Вижте tab>> от Макроси >> изберете Преглед на макроси
Сега, а диалогов прозорец ще се появи.
След това от Име на макрос изберете LastRow_NonEmpty също така изберете работната книга в Макроси в .
Накрая, Изпълнявайте избрания Macro .
По този начин ще се появи поле за съобщение, показващо номера на последния ред.
3. Използване на Rows.Count за всяка избрана колона
Чрез използване на всяка избрана колона в VBA, можете да намерите последния ред.
Първо отворете Разработчик tab>> след това изберете 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, в която Дълъг вид на променливата LastRow е обявена.
След това в Обхват като се има предвид колоната B като параметър и също така Rows.Count , това ще преброи колко реда има в дадена колона B . Следваща, използвана End(xlup). Row която ще намери последния използван ред в даден диапазон на Excel.
Накрая използвах кутия за съобщения, за да покажа резултата.
Следващия, Запазете кода и се върнете в работния лист.
След това отворете Вижте tab>> от Макроси >> изберете Преглед на макроси
Тук a диалогов прозорец ще се появи.
Сега, от Име на макрос изберете LastRow_AnyColumn също така изберете работната книга в Макроси в .
Накрая, Изпълнявайте избрания Macro .
По този начин ще се появи поле за съобщение, показващо номера на последния ред.
Подобни четива:
- Намиране на VBA в колона в Excel (7 подхода)
- Намиране и заместване чрез VBA (11 начина)
- Намиране на точно съвпадение чрез VBA в Excel (5 начина)
- Как да намерите низ с VBA в Excel (8 примера)
4. Използване на UsedRange за намиране на последния ред
Можете да използвате Използван обхват на работния лист, за да намерите последния ред, като използвате VBA .
Сега отворете Разработчик tab>> след това изберете 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, в която Дълъг вид на променливата LastRow е обявена.
След това дефинирайте променливата с помощта на ActiveSheet.UsedRange.Rows предоставя се и метод ActiveSheet.UsedRange.Rows.Count като параметър на ActiveSheet.UsedRange.Rows , това ще върне последния ред.
Използвах кутия за съобщения, за да покажа резултата.
Сега, Запазете кода и се върнете в работния лист.
След това отворете Вижте tab>> от Макроси >> изберете Преглед на макроси
След това диалогов прозорец ще се появи.
След това от Име на макрос изберете LastRow_UsedRange също така изберете работната книга в Макроси в .
Накрая, Изпълнявайте избрания Macro .
По този начин ще се появи поле за съобщение, показващо номера на последния ред.
5. Използване на Range.Find за намиране на последния ред
Можете да използвате Range.Find метод за намиране на последния ред с помощта на VBA .
Сега отворете Разработчик tab>> след това изберете 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, в която Дълъг вид на променливата LastRow е обявена.
След това дефинирайте променливата с помощта на Cells.Find метод. Тук са декларирани 7 параметъра. Какво Използвах параметър ("*"), който ще намери първата непразна клетка. A1 като обхват в След параметър, за да започнете. В Вижте предоставен параметър xlЧаст за да разгледате всяка част от текста в клетката.
LookIn:=xlFormulas параметърът ще търси формули, ако има такива. SearchOrder:=xlByRows Параметърът ще се движи отдясно наляво и също така ще преминава нагоре през всеки ред, докато намери непразна клетка.
MatchCase:=False параметърът ще посочи Намерете Когато се открие непразна буква, се спира и се връща номерът на реда.
Използвах кутия за съобщения, за да покажа резултата.
Сега, Запазете кода и се върнете в работния лист.
Тук отворете Вижте tab>> от Макроси >> изберете Преглед на макроси
Сега, а диалогов прозорец ще се появи.
Сега, от Име на макрос изберете Range_Find_Method също така изберете работния лист в Макроси в .
Накрая, Изпълнявайте избрания Macro .
По този начин ще се появи поле за съобщение, показващо номера на последния ред.
Заключение
В тази статия съм обяснил 5 начина да VBA намиране на последния ред в Excel. Можете да следвате всеки от методите за намиране на последния ред. В случай че имате някакви неясноти или въпроси относно тези методи, можете да коментирате по-долу.