Excel VBA XLUP
Một điều bạn cần ghi nhớ khi viết mã VBA là những gì bạn làm với trang tính thông thường và bạn cũng có thể sao chép điều tương tự trong VBA. Một từ khóa như vậy trong mã hóa VBA là “XLUP” trong bài viết này. Chúng tôi sẽ cho bạn biết từ khóa này là gì trong mã hóa VBA và cách sử dụng nó trong mã hóa.

Làm thế nào để sử dụng VBA XLUP trong mã hóa?
Sau đây là các ví dụ về excel VBA XLUP.
Ví dụ # 1 - Di chuyển các ô đến vị trí đã xóa của ô
Ví dụ: hãy xem kịch bản của dữ liệu bên dưới, nơi bạn cần xóa dữ liệu các ô màu đó và thêm dữ liệu hàng bên dưới lên dữ liệu trên.

Một cách để xóa điều này trong trang tính là chọn những ô mà chúng ta có thể chỉ cần xóa toàn bộ hàng đó. Nhưng ở đây, tình huống hơi phức tạp vì tôi có các ô màu trong Bảng 1 khi chúng ta xóa toàn bộ hàng, thậm chí các hàng trong Bảng 2 cũng bị xóa, nhưng chúng tôi không muốn điều này xảy ra; thay vào đó, chúng ta chỉ cần xóa các hàng màu và các ô bên dưới sẽ di chuyển lên vị trí của các ô đã xóa.
Đầu tiên, chọn các ô màu và nhấn Ctrl + Biểu tượng Trừ (-) để mở tùy chọn “Xóa”.
Phím tắt để mở tùy chọn “Xóa”


Trong cửa sổ tùy chọn "xóa", chúng tôi có bốn tùy chọn. Chúng tôi có thể chọn hành động theo yêu cầu của chúng tôi. Vì chúng ta cần di chuyển các ô của mình lên vị trí các ô đã xóa đó, hãy chọn “Shift Cell Up”.

Chúng ta sẽ có các hàng trong Bảng 2 không thay đổi.

Hành động này trong VBA yêu cầu sử dụng thuộc tính “XLUP” để thực hiện một tập hợp các hành động tương tự trong VBA. Bây giờ đến cửa sổ của trình soạn thảo VBA và bắt đầu tên macro của bạn.
Mã:
Sub XLUP_Example () End Sub

Đầu tiên, cung cấp RANGE ô được bao gồm trong thao tác này. Trong hành động này, các ô đầu tiên được xóa và di chuyển lên là các ô “A5: B5”.
Mã:
Sub XLUP_Example () Phạm vi ("A5: B5") Kết thúc Sub

Đối với phạm vi ô này, hãy chọn phương pháp "Xóa".
Mã:
Phạm vi phụ XLUP_Example () ("A5: B5"). Xóa Kết thúc phụ

Như bạn có thể thấy đối với phương thức “Delete”, chúng ta có một đối số tùy chọn là (Shift). Đối với đối số này, chúng ta cần nhập đối số là "XLUP."
Mã:
Sub XLUP_Example () Range ("A5: B5"). Xóa shift: = xlUp End Sub
Bây giờ bạn có thể chạy mã này theo cách thủ công hoặc thông qua phím tắt F5 của excel để xem kết quả.

Như bạn có thể thấy trong Bảng 1, chúng ta có hàng số 6 được chuyển lên hàng thứ 5 và mặt khác trong Bảng, hàng 2 (được tô màu) không bị thay đổi, vì vậy bằng cách sử dụng tùy chọn “VBA XLUP”, chúng ta có thể thực hiện thao tác này .
Ví dụ # 2 - Tìm hàng được sử dụng cuối cùng bằng cách sử dụng XLUP
Hãy tưởng tượng tình huống bạn đang ở ô thứ A20 (xem hình ảnh bên dưới) và ô được sử dụng cuối cùng của bạn là A14.

Bây giờ, nếu bạn muốn chọn ô sử dụng cuối cùng (A14), bạn sẽ làm thế nào bằng cách sử dụng phím tắt ???
Chúng tôi sẽ sử dụng Ctrl + phím Mũi tên Lên để di chuyển đến ô được sử dụng cuối cùng từ vị trí hiện tại.
Phím tắt để di chuyển đến ô được sử dụng lần cuối


Vì vậy, từ ô hiện tại, Ctrl + Mũi tên lên đã chọn ô được sử dụng cuối cùng. Tương tự, trong mã hóa VBA, chúng tôi sử dụng END (XLUP) để thực hiện tương tự.
Bây giờ quay lại cửa sổ mã hóa VBA.
In this window, we will perform the task of finding the last used row in the worksheet. Create a new subprocedure in the VBA window.
Code:
Sub XLUP_Example1() End Sub

To store the last used row number. define the variable as the VBA LONG data type.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long End Sub
Now for this variable, we will assign the last used row number.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = End Sub

Now use the RANGE object and open this object.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = Range( End Sub

Now mention the active cell (A20) for RANGE object.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20") End Sub

Now open END property for supplied range cell.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End( End Sub

As you can see above, we have to arrow key options like “xlDown,” “xlToLeft,” “xlToRight,” “xlUp.” Since we are moving up from the A14 cell, choose the “VBA XLUP” option.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp) End Sub
After moving up from A14 cell, we need to mention what we need to do since we need the last used row number, I will use ROW property.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row End Sub

Now for the message box, assign the value of variable “Last_Row_Number.”
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row MsgBox Last_Row_Number End Sub
Now you can run this code manually or through shortcut key F5 to see the result.

So message box showing the last used row number as 14, so our last data used row number is A14 cell.
In this case, since the data is very small, we started the room cell, but when the data is large, we cannot say which cell to take into consideration first. In such cases, we need to employ a different technique.
We need to use CELLS property. Below is an example of the same.
Code:
Sub XLUP_Example2() Dim Last_Row_Number As Long Last_Row_Number = Cells(Rows.Count, 1).End(xlUp).Row MsgBox Last_Row_Number End Sub
Now you can run this code manually or through shortcut key F5 to see the result.

Thay vì một đối tượng RANGE, tôi đã sử dụng thuộc tính CELLS. Hãy để tôi giải thích điều này chi tiết cho bạn.
ROW.COUNT điều này sẽ đếm có bao nhiêu hàng trong cột 1. Điều này sẽ làm là nó sẽ xem xét ô cuối cùng trong trang tính thay vì địa chỉ ô ngẫu nhiên. Trong trường hợp trên, chúng tôi đã sử dụng A14 làm địa chỉ ô ngẫu nhiên.
Những điều cần nhớ về VBA XLUP
- XLUP là từ được sử dụng trong mã VBA để sao chép hành động của phím "Mũi tên lên" trong excel.
- VBA XLUP được sử dụng để di chuyển từ ô đang hoạt động sang ô ở trên hoặc ô được sử dụng cuối cùng.
- XLUP thường được sử dụng cùng với thuộc tính END trong VBA.