VBA Hàng cuối cùng - 3 phương pháp hàng đầu để tìm hàng được sử dụng cuối cùng?

Trong VBA khi chúng ta phải tìm hàng cuối cùng có rất nhiều phương pháp khác nhau và phương pháp được sử dụng phổ biến nhất là phương thức End (XLDown) ngoài ra còn có các phương pháp khác như tìm giá trị cuối bằng hàm find trong VBA, End (XLDown ). Hàng là cách dễ nhất để đến hàng cuối cùng.

Hàng cuối cùng trong Excel VBA

Nếu viết mã là bước đầu tiên bạn thực hiện trong VBA, thì việc tạo mã động là bước tiếp theo dành cho bạn. Excel có đầy đủ các tham chiếu ô. Thời điểm chúng tôi tham chiếu đến ô, nó sẽ trở thành cố định. Nếu dữ liệu của chúng ta tăng lên, chúng ta cần quay lại tham chiếu ô và thay đổi các tham chiếu để cập nhật kết quả.

Để có ví dụ, hãy xem đoạn mã dưới đây.

Mã:

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

Đoạn mã trên cho biết trong D2, giá trị ô phải là tổng của Phạm vi (“B2: B7”).

Bây giờ tôi sẽ thêm nhiều giá trị hơn vào danh sách.

Bây giờ, nếu tôi chạy mã, nó sẽ không cung cấp cho tôi kết quả cập nhật thay vào đó, nó vẫn dính vào phạm vi cũ, tức là Phạm vi (“B2: B7”).

Đây là nơi mã động rất quan trọng.

Trong quá trình làm cho mã động, việc tìm hàng được sử dụng cuối cùng trong cột là rất quan trọng. Trong bài viết này, chúng tôi sẽ thảo luận về các cách tìm hàng cuối cùng trong Excel VBA.

Làm thế nào để Tìm Hàng được Sử dụng Cuối cùng trong Cột?

Dưới đây là các ví dụ để tìm hàng được sử dụng cuối cùng trong Excel VBA.

Phương pháp # 1

Trước khi tôi giải thích cho bạn mã, tôi muốn bạn nhớ cách bạn đi đến hàng cuối cùng trong trang tính bình thường.

Chúng ta sẽ sử dụng tổ hợp phím tắt Ctrl + mũi tên xuống.

Nó sẽ đưa chúng ta đến hàng được sử dụng cuối cùng trước bất kỳ ô trống nào. Chúng tôi cũng sẽ sử dụng phương pháp tương tự trong VBA để tìm hàng cuối cùng.

Bước 1: Định nghĩa biến là LONG.

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Dòng cuối cùng Kết thúc Sub

Bước 2: Đối với biến này, chúng tôi sẽ gán số hàng được sử dụng cuối cùng.

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Last Row LR = End Sub

Bước 3: Viết mã dưới dạng CELLS (Rows.Count,

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu được LR = Last Row LR = Cells (Rows.Count, End Sub

Bước 4: Bây giờ đề cập đến số cột là 1.

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Last Row LR = Cells (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) có nghĩa là đếm có bao nhiêu hàng trong cột đầu tiên.

Vì vậy, đoạn mã VBA trên sẽ đưa chúng ta đến hàng cuối cùng của trang tính excel.

Bước 5: Nếu chúng ta đang ở ô cuối cùng của sheet để đến hàng cuối cùng sử dụng, chúng ta sẽ nhấn tổ hợp phím tắt là Ctrl + phím Mũi tên Lên .

Trong VBA, chúng ta cần sử dụng phím kết thúc trở lên, tức là End VBA xlUp

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) End Sub

Bước 6: Bây giờ, nó sẽ đưa chúng ta đến hàng được sử dụng cuối cùng từ dưới cùng. Bây giờ chúng ta cần số hàng của cái này. Vì vậy, hãy sử dụng thuộc tính ROW để lấy số hàng.

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row End Sub

Bước 7: Bây giờ, biến giữ số hàng được sử dụng cuối cùng. Hiển thị giá trị của biến này trong hộp thông báo trong mã VBA.

Mã:

Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub

Chạy mã này bằng phím F5 hoặc theo cách thủ công. Nó sẽ hiển thị hàng được sử dụng cuối cùng.

Đầu ra:

Hàng được sử dụng cuối cùng trong trang tính này là 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

Mã này cũng cung cấp cho bạn hàng được sử dụng cuối cùng. Ví dụ, hãy xem hình ảnh bảng tính bên dưới.

Nếu tôi chạy mã theo cách thủ công hoặc sử dụng phím F5 kết quả sẽ là 12 vì 12 là hàng được sử dụng cuối cùng.

Đầu ra:

Bây giờ tôi sẽ xóa hàng thứ 12 và xem kết quả.

Mặc dù tôi đã xóa một hàng, nó vẫn hiển thị kết quả là 12.

Để làm cho mã này hoạt động, chúng ta cần phải nhấn nút lưu sau mỗi hành động. Sau đó, mã này sẽ trả về kết quả chính xác.

Tôi đã lưu sổ làm việc và bây giờ xem kết quả.

Phương pháp # 3

Chúng ta có thể tìm thấy hàng cuối cùng của VBA trong phạm vi đã sử dụng. Đoạn mã dưới đây cũng trả về hàng được sử dụng cuối cùng.

Mã:

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

Điều này cũng sẽ trả về hàng được sử dụng cuối cùng.

Đầu ra:

thú vị bài viết...