Cách dùng hàm VLOOKUP VBA và vòng lặp FOR EACH trong VBA Excel

Thanh Hằng
Thanh Hằng
Mar 22 2021

Chắc hẳn những bạn hay sử dụng công cụ Excel, cụ thể hơn là hàm VLOOKUP sẽ có không ít lần cần sử dụng đến hàm này trong VBA Excel. Trong bài viết này, Gitiho sẽ hướng dẫn chi tiết cách dùng hàm VLOOKUP VBA và ngoài ra, công cụ vòng lặp trong Excel - FOR EACH trong VBA hữu dụng trong việc phân loại, thực hiện nhiệm vụ với các nhóm đối tượng riêng biệt. Cùng tìm hiểu nhé!

Đăng ký ngay khoá học Tuyệt đỉnh VBA - Viết code trong tầm tay

Hàm VLOOKUP VBA Excel

Nếu đã làm quen với VBA, chắc hẳn đôi khi bạn phải sử dụng hàm VLOOKUP VBA (VLOOKUP phiên bản VBA).

Còn nếu chưa biết VBA là gì, hãy đọc bài viết phía dưới nhé.

Hiện nay, có 2 phiên bản hàm VLOOKUP VBA chính là:

  1. Application.VLOOKUP
  2. Application.WorksheetFunction.VLOOKUP

Sự khác nhau giữa 2 hàm này là gì? Cùng tìm câu trả lời ở minh minh họa dưới đây:

Đó chính là: Cách xử lý lỗi khi không tìm thấy dữ liệu. Và, hàm Application.VLOOKUP có cách phát hiện và xử lý lỗi ngắn gọn và dễ dàng hơn.

Xem thêm: Tìm hiểu về VBA và các ứng dụng VBA trong công việc

Vòng lặp FOR EACH VBA Excel

Đặc điểm vòng lặp FOR EACH

Dưới đây là tập hợp các đối tượng được xét lần lượt trong vòng lặp FOR EACH:

  • Mỗi ô trong 1 Range
  • Mỗi Sheet trong 1 Workbook
  • Mỗi Workbook trong 1 thư mục
  • ..vv..

Mỗi một đối tượng ở trên, khi vòng lặp xét đối tượng này, thỏa mãn 1 điều kiện nào đó, sẽ thực hiện 1 nhóm lệnh, nhóm hành động theo ý muốn.

Các đối tượng trong cùng một tập hợp phải là cùng 1 loại và có đặc điểm giống nhau.

Cấu trúc vòng lặp FOR EACH VBA

Vòng lặp FOR EACH thường sử dụng 2 biến dưới đây:

  • Biến tập hợp đối tượng (bien_TapHop)
  • Biến chỉ mỗi đối tượng trong tập hợp (bien_DoiTuong)

Cấu trúc vòng lặp như sau:

For Each bien_DoiTuong in bien_TapHop

[Nội dung nhóm lệnh thực hiện trên từng đối tượng]

Next bien_DoiTuong

Cách viết vòng lặp trong Excel

Dưới đây là bảng danh sách nhân viên và mức thưởng của bộ phận Kinh doanh. Hãy gắn mức thưởng này vào đúng nhân viên của phòng ''Kinh doanh''.

1. Yêu cầu

Gắn mức thưởng 500 vào tên nhân viên ở bộ phận ''Kinh doanh''.

2. Đối tượng

  • Vùng B2:B8 chứa thông tin bộ phận của từng nhân viên (bien_TapHop)
  • Mỗi ô trong vùng B2:B8 là đối tượng cần xét (bien_DoiTuong)
  • Giá trị đối tượng cần so sánh: ô E2 có nội dung là “Kinh doanh”
  • Kết quả nếu mệnh đề thỏa mãn là ô F2 có giá trị là 500
  • Kết quả sẽ được điền tương ứng vào vùng C2:C8, tương ứng theo dòng đối tượng được xét

3. Mã Code cần điền:

Sub Thuong_BP_KinhDoanh()

Dim bien_BoPhan as Range
 Set bien_BoPhan = Range("B2:B8")
Dim bien_DoiTuong as Range

For Each bien_DoiTuong in bien_BoPhan
 If bien_DoiTuong.Value = Range("E2").Value Then
     bien_DoiTuong.Offset(0, 1).Value = Range("F2").Value
 End If
Next bien_DoiTuong

End Sub

Quy trình thực hiện viết vòng lặp trong Excel trên như sau:

  1. Bắt đầu câu lệnh với cú pháp khai báo 2 biến là bien_BoPhanbien_DoiTuong
  2. Thiết lập phạm vi cho biến bộ phận là vùng B2:B8
  3. Thực hiện vòng lặp For Each với từng đối tượng trong Bộ phận
  4. Dùng cấu trúc IF để so sánh giá trị của biến Đối tượng với giá trị tại ô E2
  5. Dùng phương thức OFFSET để dịch chuyển sang 1 cột về bên phải so với biến đối tượng. Đây là vị trí lấy kết quả thỏa mãn điều kiện

Sau khi bạn hiểu rõ các bước trên, hãy nhập câu lệnh vào cửa sổ VBA Excel và xem kết quả hiển thị.

Xem thêm: Tìm hiểu về cách tự tạo hàm Excel trong VBA

Kết luận

Hy vọng qua bài viết trên, bạn đọc có thể nắm được cách dùng hàm VLOOKUP VBAvòng lặp trong VBA Excel - FOR EACH. Hy vọng bạn sẽ thực hiện thành công cho công việc của mình và đừng quên theo dõi chúng mình để xem thêm các bài viết bổ ích khác nhé!

Nhận tư vấn và đăng ký khóa học ở đây.

Đọc thêm:

Hướng dẫn tìm kiếm và lọc dữ liệu tự động bằng Textbox trong Excel VBA

Hướng dẫn hiện thẻ Developer để ghi Macro hoặc viết code VBA trong Excel

Unicode tiếng việt khi viết trong VBA

HƯỚNG DẪN CÁCH VIẾT HÀM VBA TRONG EXCEL

Cách sử dụng hàm MsgBox() để tạo hộp thông báo với VBA


0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Cách ứng dụng hàm INT và MOD cho lễ tân và các công việc khác

Cách ứng dụng hàm INT và MOD cho lễ tân và các công việc khác

Hướng dẫn cách tách địa chỉ ra khỏi chuỗi

Hướng dẫn cách tách địa chỉ ra khỏi chuỗi

CÁCH TÍNH ĐIỂM TRUNG BÌNH VÀ XẾP LOẠI TRONG EXCEL (KÈM BÀI TẬP)

CÁCH TÍNH ĐIỂM TRUNG BÌNH VÀ XẾP LOẠI TRONG EXCEL (KÈM BÀI TẬP)

Hướng dẫn kiểm tra giá trị trùng lặp cực đơn giản trên Excel 2010, 2013, 2016, 2019

Hướng dẫn kiểm tra giá trị trùng lặp cực đơn giản trên Excel 2010, 2013, 2016, 2019

Cách cộng, trừ ngày tháng năm trong Excel để tính số ngày siêu nhanh cho kế toán

Cách cộng, trừ ngày tháng năm trong Excel để tính số ngày siêu nhanh cho kế toán

Hướng dẫn 4 cách bôi đen trong Excel đơn giản và nhanh chóng

Hướng dẫn 4 cách bôi đen trong Excel đơn giản và nhanh chóng

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội