Thanh Hằng
Thanh Hằng
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 3684 lượt xem

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

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

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

Đặ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.

Xem thêm: Cách để sử dụng vòng lặp For Each trong VBA Excel

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

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

Xem thêm: Giới thiệu chi tiết cách khai báo biến đối tượng trong VBA Excel

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ị.

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 Excel - FOR EACH. Tham gia ngay khóa học Tuyệt đỉnh VBA để được hướng dẫn những kiến thức VBA Excel chi tiết và mới nhất, cùng với đó là những giải đáp tận tình từ các chuyên gia hàng đầu Gitiho.

Chúc bạn áp dụng thành công!

Đọc thêm:

Hướng dẫn cách dùng hàm index trong Excel chi tiết nhất

Hướng dẫn cách copy chỉ những giá trị hiển thị sau khi lọc trong Excel

Hướng dẫn cách sắp xếp ngày trong Excel 

Hướng dẫn cách dùng hàm VLOOKUP qua các ví dụ từ cơ bản đến nâng cao

Hướng dẫn cách sử dụng hàm IF với nhiều điều kiện: AND, OR, hàm IF lồng nhau và hơn thế


Cùng tham gia cộng đồng hỏi đáp về chủ đề Tin học văn phòng

Thảo luận 0 câu trả lời
Lượt xem 3684 lượt xem
Vỗ tay vỗ tay

0 Bình luận

@ 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