Последен ред на VBA - Топ 3 метода за намиране на последния използван ред?

Съдържание

Във VBA, когато трябва да намерим последния ред, има много различни методи и най-често използваният метод е методът End (XLDown), а има и други методи като например намиране на последната стойност с помощта на функцията за търсене във VBA, End (XLDown ). Редът е най-лесният начин да стигнете до последния ред.

Excel VBA Последен ред

Ако писането на кода е първият напредък, който сте постигнали във VBA, тогава правенето на динамичен код е следващата стъпка за вас. Excel е пълен с препратки към клетки. В момента, в който се обърнем към клетката, тя се фиксира. Ако данните ни се увеличат, трябва да се върнем към препратката към клетката и да променим препратките, за да актуализираме резултата.

За пример вижте кода по-долу.

Код:

Sub Last_Row_Example1 () Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B7")) End Sub

Горният код казва в D2, стойността на клетката трябва да бъде сумирането на диапазон („B2: B7“).

Сега ще добавя още стойности към списъка.

Сега, ако стартирам кода, той няма да ми даде по-скоро резултата от актуализациите, той все още се придържа към стария диапазон, т.е. Range (“B2: B7”).

Тук динамичният код е много важен.

В процеса на правене на кода динамичен, намирането на последния използван ред в колоната е много важно. В тази статия ще обсъдим начините за намиране на последния ред в Excel VBA.

Как да намерим последния използван ред в колоната?

По-долу са примерите за намиране на последния използван ред в Excel VBA.

Метод # 1

Преди да ви обясня кода, искам да запомните как преминавате към последния ред в нормалния работен лист.

Ще използваме клавишната комбинация Ctrl + стрелка надолу.

Ще ни отведе до последния използван ред преди празна клетка. Ще използваме същия метод и в VBA, за да намерим последния ред.

Стъпка 1: Определете променливата като LONG.

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране на LR = Последен край на Sub

Стъпка 2: За тази променлива ще присвоим последния използван номер на реда.

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране LR = Последен ред LR = Край Sub

Стъпка 3: Напишете кода като CELLS (Rows.Count,

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране на LR = Последен ред LR = Клетки (Rows.Count, End Sub

Стъпка 4: Сега посочете номера на колоната като 1.

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране на LR = Последен ред LR = Клетки (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) означава да се преброи колко реда има в първата колона.

Така че горният код на VBA ще ни отведе до последния ред на листа на Excel.

Стъпка 5: Ако сме в последната клетка на листа, за да отидете на последния използван ред, ние ще натиснете клавиша за бърз достъп е Ctrl + стрелка нагоре ключ.

Във VBA трябва да използваме клавиша за край и нагоре, т.е. End VBA xlUp

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране на LR = Последен ред LR = Клетки (Rows.Count, 1). End (xlUp) End Sub

Стъпка 6: Сега ще ни отведе до последния използван ред отдолу. Сега се нуждаем от номера на реда на това. Затова използвайте свойството ROW, за да получите номера на реда.

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране на LR = Последен ред LR = Клетки (Rows.Count, 1). End (xlUp). Ред End Sub

Стъпка 7: Сега променливата съдържа последния използван номер на реда. Покажете стойността на тази променлива в полето за съобщения в кода на VBA.

Код:

Sub Last_Row_Example2 () Dim LR As Long 'За разбиране на LR = Последен ред LR = Клетки (Rows.Count, 1). End (xlUp) .Rw MsgBox LR End Sub

Изпълнете този код с помощта на клавиша F5 или ръчно. Той ще покаже последния използван ред.

Изход:

Последният използван ред в този работен лист е 13.

Now I will delete one more line and run the code and see the dynamism of the code.

Ok, now the result automatically takes the last row.

This is what the dynamic VBA last row code is.

As I showed in the earlier example, change the row number from a numeric value to LR.

Code:

Sub Last_Row_Example2() Dim LR As Long 'For understanding LR = Last Row LR = Cells(Rows.Count, 1).End(xlUp).Row Range("D2").Value = WorksheetFunction.Sum(Range("B2:B" & LR)) End Sub

I have removed B13 and added the variable name LR.

Now it does not matter how many rows you add. It will automatically take the updated reference.

Method #2

We can also find the last row in VBA by using the Range object and special VBA cells property as well.

Code:

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

Кодът ви дава и последния използван ред. Например погледнете изображението на работния лист по-долу.

Ако стартирам кода ръчно или използвам клавиша F5, резултатът ще бъде 12, защото 12 е последният използван ред.

Изход:

Сега ще изтрия 12-ия ред и ще видя резултата.

Въпреки че съм изтрил един ред, той все още показва резултата като 12.

За да накараме този код да работи, трябва да натискаме бутона за запазване след всяко действие. Тогава този код ще върне точни резултати.

Запазих работната книга и сега ще видя резултата.

Метод # 3

Можем да намерим последния ред на VBA в използвания диапазон. Кодът по-долу също връща последния използван ред.

Код:

Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub

Това ще върне и последния използван ред.

Изход:

Интересни статии...