Khi làm việc trong Excel, người dùng sẽ cần tìm một giá trị cụ thể từ tập dữ liệu. Tuy nhiên, nếu phải làm việc với một tập dữ liệu “khổng lồ” thì việc tìm dữ liệu sẽ trở nên khó hơn. Chính vì vậy, hàm LOOKUP của Excel VBA luôn là lựa chọn tuyệt vời, giúp người dùng giải quyết vấn đề này. Trong bài viết dưới đây, UniTrain sẽ giúp bạn hiểu rõ hơn về cách dùng hàm LOOKUP VBA qua 3 ví dụ:

– Sử dụng ô tham chiếu để tìm dữ liệu

– Sử dụng dữ liệu nhập của người dùng làm giá trị tra cứu

– Sử dụng một dãy giá trị tra cứu

1. Sử dụng ô tham chiếu để tìm dữ liệu 

Sử dụng Cell Reference làm giá trị tra cứu trong hàm LOOKUP VBA bằng cách:

Bước 1: Sắp xếp Vector tra cứu theo thứ tự tăng dần

Trước tiên, bạn cần sắp xếp Vector tra cứu theo thứ tự tăng dần. Trong ví dụ này, người dùng sẽ sử dụng tên của Product làm giá trị tra cứu. Do đó, Vector tra cứu sẽ nằm trong phạm vi C5:C14.

1. Chọn dãy ô C5:C14.

2. Chọn Home > Sort & Filter trong mục Editing > Sort A to Z.

Sorting lookup vector in ascending order to use the VBA Lookup function in Excel

Sau đó, cột Product sẽ được sắp xếp theo thứ tự tăng dần (như hình dưới).

The output obtained after Sorting the lookup vector in ascending order

Bước 2: Chèn module mới trong VBA Editor.

1. Chọn Developer > Visual Basic trong mục Code.

Using the Developer tab to open VBA Editor in Excel

Sau đó, cửa sổ Microsoft Visual Basic for Applications sẽ hiển thị trên worksheet.

The Microsoft Visual Basic for Applications window

2. Chọn Insert > Module. 

Inserting new Module to write code using VBA Lookup function in Excel

Bước 3: Nhập mã

1. Hãy nhập mã dưới đây:

Sub lookup_with_cell_reference()
Range("C17").Value = WorksheetFunction.Lookup(Range("B17").Value, _
Range("C5:C14"), Range("F5:F14"))
End Sub

Writing VBA code in Module1

2. Sau khi nhập mã, chọn biểu tượng Save.

Saving the VBA code written in Module1

Bước 4: Chạy mã

1. Nhấn ALT + F11 để trở lại worksheet.

2. Nhập tên sản phẩm vào ô B17.

3. Nhấn ALT + F8 để mở hộp thoại Macro.

4. Trong hộp thoại Macro, chọn lookup_with_cell_reference > Run.

Running Macro to use the VBA Lookup function in Excel

Cuối cùng, giá của sản phẩm mà bạn nhập (Macbook Pro) trong ô B17 sẽ hiển thị trong ô C18 (như hình dưới).

Outputs obtained after using VBA Lookup function in Excel

2. Sử dụng dữ liệu nhập của người dùng làm giá trị tra cứu

Ví dụ này sẽ giới thiệu cách dùng thông tin người dùng nhập làm giá trị tra cứu để tìm Price (giá) của laptop bằng hàm LOOKUP VBA trong Excel. Lấy giá trị tra cứu từ người dùng bằng cách sử dụng InputBox của Excel VBA.

Cách thao tác:

Bước 1: Sắp xếp Vector tra cứu theo thứ tự tăng dần

Trước tiên, bạn cần sắp xếp Vector tra cứu theo thứ tự tăng dần. Trong ví dụ này, người dùng sẽ sử dụng tên của Product làm giá trị tra cứu. Do đó, Vector tra cứu sẽ nằm trong phạm vi C5:C14.

1. Chọn dãy ô C5:C14.

2. Chọn Home > Sort & Filter trong mục Editing > Sort A to Z.

Sorting lookup vector in ascending order to use the VBA Lookup function in Excel

Sau đó, cột Product sẽ được sắp xếp theo thứ tự tăng dần (như hình dưới).

The output obtained after Sorting the lookup vector in ascending order

Bước 2: Chèn module mới trong VBA Editor.

1. Chọn Developer > Visual Basic trong mục Code.

Using the Developer tab to open VBA Editor in Excel

Sau đó, cửa sổ Microsoft Visual Basic for Applications sẽ hiển thị trên worksheet.

The Microsoft Visual Basic for Applications window

2. Chọn Insert > Module. 

Inserting new Module to write code using VBA Lookup function in Excel

Bước 3: Nhập mã 

1. Hãy nhập mã dưới đây:

Sub user_defined_lookup()
Product = InputBox("Enter the Name of the Product: ")
Range("B17").Value = WorksheetFunction.Lookup(Product, _
Range("C5:C14"), Range("F5:F14"))
End Sub

Writing VBA code in Module2

2. Chọn biểu tượng Save.

Saving VBA code written in Module2

3. Nhấn ALT + F11 để trở lại worksheet.

4. Nhập tên sản phẩm vào ô B17.

5. Nhấn ALT +  F8 để mở Macro.

6. Trong hộp thoại Macro, chọn lookup_with_cell_reference > Run.

Running Macro to apply the VBA Lookup function in Excel

7. Nhập tên sản phẩm mà bạn muốn tra cứu > OK (như hình dưới).

Inserting lookup value in the dialogue box by user

Sau đó, giá sản phẩm sẽ hiển thị trong ô B17.

The output obtained based on the inserted lookup value by using the VBA Lookup function

3. Sử dụng một loạt các giá trị tra cứu

Ở ví dụ này, người dùng sẽ sử dụng một loạt các giá trị tra cứu thay vì một giá trị tra cứu để tìm Price (giá) của laptop bằng hàm LOOKUP VBA trong Excel. Để làm điều này, hãy thao tác theo các bước dưới đây:

Bước 1: Sắp xếp Vector tra cứu theo thứ tự tăng dần

Trước tiên, bạn cần sắp xếp Vector tra cứu theo thứ tự tăng dần. Trong ví dụ này, người dùng sẽ sử dụng tên của Product làm giá trị tra cứu. Do đó, Vector tra cứu sẽ nằm trong phạm vi C5:C14.

1. Chọn dãy ô C5:C14.

2. Chọn Home > Sort & Filter trong mục Editing > Sort A to Z.

Sorting lookup vector in ascending order to use the VBA Lookup function in Excel

Sau đó, cột Product sẽ được sắp xếp theo thứ tự tăng dần (như hình dưới).

The output obtained after Sorting the lookup vector in ascending order

Bước 2: Chèn module mới trong VBA Editor.

1. Chọn Developer > Visual Basic trong mục Code.

Using the Developer tab to open VBA Editor in Excel

Sau đó, cửa sổ Microsoft Visual Basic for Applications sẽ hiển thị trên worksheet.

The Microsoft Visual Basic for Applications window

2. Chọn Insert > Module. 

Inserting new Module to write code using VBA Lookup function in Excel

Bước 3: Nhập mã 

1. Hãy nhập mã dưới đây:

Sub range_of_lookup_values()
Range("C17:C19").Value = WorksheetFunction.Lookup _
(Range("B17:B19").Value, Range("C5:C14"), Range("F5:F14"))
End Sub

Writing VBA code in Module3

2. Chọn biểu tượng Save.

Saving VBA code written in Module3

3. Nhấn ALT + F11 để trở lại worksheet.

4. Nhập tên sản phẩm trong phạm vi B17:B19.

5. Nhấn ALT + F8 để mở Macro.

6. Hộp thoại Macro hiển thị, chọn range_of_lookup_values > Run.

Running Macro to use the VBA Lookup function in Excel

Cuối cùng, kết quả hiển thị (như hình dưới).

Outputs got after applying VBA Lookup function in Excel

Xem thêm

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

Cách xóa phạm vi được đặt tên bằng Excel VBA

Cách đánh giá chuỗi dưới dạng mã Excel VBA

Cách ẩn thanh công thức bằng Excel VBA

Tags