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 cùng bằng cách sử dụ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ì làm cho 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ẽ được cố định. Nếu dữ liệu của chúng tôi tăng lên, chúng tôi cần quay lại tham chiếu ô và thay đổi tham chiếu để cập nhật kết quả.

Để biết 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 giá trị ô D2 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ì 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.

Bạn có thể tải xuống Mẫu hàng cuối VBA này tại đây - Mẫu hàng cuối cùng của 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 rõ 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 trang tính để chuyển đến hàng cuối cùng được sử dụng, chúng ta sẽ nhấn 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à Kết thúc 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 rõ LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub 

Chạy mã này bằng cách sử dụ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.

Bây giờ tôi sẽ xóa thêm một dòng nữa và chạy mã và xem tính năng động của mã.

Ok, bây giờ kết quả tự động lấy hàng cuối cùng.

Đây là mã hàng cuối cùng của VBA động.

Như tôi đã trình bày trong ví dụ trước đó, hãy thay đổi số hàng từ giá trị số thành LR.

Mã:

 Sub Last_Row_Example2 () Dim LR As Long 'Để hiểu LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B "& LR)) Kết thúc Sub 

Tôi đã loại bỏ B13 và thêm tên biến LR.

Bây giờ không quan trọng bạn thêm bao nhiêu hàng, nó sẽ tự động lấy tham chiếu cập nhật.

Phương pháp # 2

Chúng ta cũng có thể tìm thấy hàng cuối cùng trong VBA bằng cách sử dụng đối tượng Phạm vi và thuộc tính ô VBA đặc biệt.

Mã:

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

Mã cũng cung cấp cho bạn hàng được sử dụng cuối cùng. Ví dụ, hãy nhìn vào 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. Mã bên dưới 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:


$config[zx-auto] not found$config[zx-overlay] not found