Microsoft Excel là một trong những công cụ được sử dụng rộng rãi trên thế giới. Excel cho phép người dùng viết mã và tạo macro để tự động hóa các thao tác. Và một trong những minh chứng đó là hàm VLOOKUP – hàm dùng để tìm kết quả dựa trên dữ liệu cụ thể trong tập dữ liệu lớn trong Excel VBA. Nhưng, bạn có biết rằng Excel VBA cho phép bạn người dùng sử dụng VLOOKUP cho các phạm vi được đặt tên không? Việc sử dụng các phạm vi được đặt tên giúp công thức dễ đọc và giảm lỗi trong Excel. Hãy cùng UniTrain tìm hiểu cách sử dụng hàm VBA VLookup với một phạm vi được đặt tên trong Excel nhé.

1. Hiển thị kết quả cho phạm vi được đặt tên trong MsgBox

Ví dụ, người dùng sử dụng VBA VLookup với một phạm vi được đặt tên và hiển thị kết quả bằng MsgBox. Cách này sẽ hữu ích nếu bạn đang tìm cách hiển thị kết quả sau khi tìm kiếm bằng hàm VBA VLookup trong Excel. Ở đây, người dùng sẽ sử dụng phạm vi được đặt tên được tạo trước đó (Employee_Data).

Cách thao tác:

Bước 1: Tạo Module > viết đoạn mã dưới đây > chọn biểu tượng Save.

Writing VBA Code

Đoạn mã:

Sub VLOOKUP_Single_Output()
Dim myRange As Range
Dim lookup_value As Variant
On Error GoTo errorMsg
Set myRange = Range("Employee_Data")
lookup_value = Range("B23")
MsgBox WorksheetFunction.VLookup(lookup_value, myRange, _
3, False), , "Employee Name"
Exit Sub
errorMsg:
MsgBox "Please use a valid Employee ID"
End Sub

Lúc này, đoạn mã sẵn sàng để Run. Trong Excel, có nhiều cách để chạy mã VBA. Bạn có thể tham khảo một số cách chạy mã dưới đây:

Chạy Macro bằng cách dùng tab Developer

Bước 1: Nhập Employee ID hợp lệ vào ô B23. Trong ví dụ này, người dùng đã sử dụng Employee ID 1100809. Sau đó, chọn Developer > Macros.

Selecting Macros Option

Bước 2: Khi hộp thoại Macro hiển thị, chọn tùy chọn VLOOKUP_Single_Output và chọn Run.

Choosing Macro to Rub Code

Sau đó, bạn sẽ có Employee Name tương ứng với Employee ID 1100809 được hiển thị trong MsgBox như hình dưới đây:

Showing Employee Name in a MsgBox

Ngược lại, hãy xem điều gì sẽ xảy ra nếu bạn nhập Employee ID sai. Giả sử, người dùng sử dụng Employee ID sai trong ô B23. Sau đó, chạy lại mã VBA.

Using Wrong Employee ID

Ngay lập tức, bạn sẽ nhận được một MsgBox có thông báo “Please use a Valid Employee ID” (như hình dưới).

Showing MsgBox for Invalid Employee ID

Làm thế nào mã này hiểu rằng đó là một Employee ID không chính xác? Bởi vì bất kỳ Employee ID nào không có sẵn trong cột đầu tiên trong phạm vi được chỉ định thì sẽ được xem là Employee ID không hợp lệ.

2. Giá trị VLookup từ phạm vi được đặt tên và input người sử dụng 

Trong ví dụ trước, người dùng đã nhập Employee ID trực tiếp và phải đảm bảo độ chính xác khi nhập ID. Tuy nhiên, ở ví dụ này, người dùng sẽ sử dụng một cách tốt hơn và hiệu quả hơn để chèn Employee ID.

Ngoài ra, người dùng sẽ chọn một ô và chèn Employee ID vào hộp thoại pop-up được hiển thị sau khi chạy mã.

Cách thao tác:

Bước 1: Tạo Module > nhập đoạn mã > chọn biểu tượng Save.

Writing and Saving VBA Code

Đoạn mã:

Sub VLOOKUP_Single_Output()
Dim myRange As Range
Dim lookup_value As Variant
On Error GoTo errorMsg
Set myRange = Range("Employee_Data")
lookup_value = Range("B23")
MsgBox WorksheetFunction.VLookup(lookup_value, myRange, _
3, False), , "Employee Name"
Exit Sub
errorMsg:
MsgBox "Please use a valid Employee ID"
End Sub

Bước 2: Để mở hộp thoại Macro, hãy sử dụng phím tắt ALT + F8. Trong hộp thoại Macro, chọn tùy chọn VLOOKUP_User_Input và chọn Run.

Running Macro

Hộp thoại Employee ID sẽ hiển thị, bạn không cần nhập Employee ID. Thay vào đó, chỉ cần chọn ô chứa Employee ID. Đây là một cách hiệu quả và giảm lỗi đáng kể trong Excel.

Bước 3: Trong hộp thoại Employee ID, chọn bất kì ô nào trong cột Employee ID > chọn OK.

Selecting Cell to Enter Employee ID

Sau đó, Employee Name đã chọn sẽ hiển thị trong MSgBox trên worksheet (như hình dưới):

Displaying MsgBox to Show Employee Name

Qua 2 ví dụ trên, UniTrain hy vọng bạn sẽ hiểu cách sử dụng Excel VBA VLookup cho phạm vi được đặt tên.

Xem thêm

Khóa học Ứng dụng VBA trong Excel

Cách dùng tính năng EVALUATE trong VBA Excel

Cách dùng tính năng FORECAST trong VBA Excel

[Free download] 100 Excel VBA Simulations

Tags