[Excel VBA tip] Cách sử dụng hàm IF trong VBA Excel

Trong VBA Excel, hàm IF được sử dụng khi bạn muốn kiểm tra một kết quả theo một hoặc nhiều điều kiện cho trước. Khi điều điều kiện đúng, lệnh nhánh đúng sẽ được thực thi hoặc nếu sai, lệnh nhánh sai sẽ được thực thị.

Để hiểu rõ hơn về lệnh IF trong VBA, các bạn hãy cùng mình xem qua cấu trúc và các ví dụ về cách sử dụng được tổng hợp dưới đây nhé.

Cách sử dụng hàm IF trong VBA Excel

Sẽ có 2 dạng lệnh IF bạn sẽ gặp trong VBA là:

  • IF đơn: chỉ có một điều kiện
  • IF nhiều điều kiện: có nhiều hơn 1 điều kiện.
  1. Hàm IF đơn

Cú pháp:

IF <điều kiện> THEN

<lệnh thực hiện nếu điều kiện đúng>

Else

<lệnh thực hiện nếu điều kiện sai>

END IF

Chú thích cú pháp:

  • <điều kiện>: có thể là các phép so sánh toán học (>, <, >=, <=, =), so sánh chuỗi (=””), các hàm kiểm tra giá trị (kiểm tra số, kiểm tra TRUE/ FALSE)…
  • IF <điều kiện> THEN: nếu điều kiện kiểm tra là đúng thì thực thi lệnh
  • Else: nếu điều kiện trong IF <điều kiện> THEN sai thì lệnh trong ELSE sẽ được thực thi.
  • END IF: kết thúc lệnh cho một hàm IF.

Mỗi hàm IF sẽ kèm theo một END IF.

Ví dụ: Kiểm tra số nhập từ InputBox lớn hay nhỏ hơn 0.

Sub kiemtra_soduong()

Dim so As Integer

x = InputBox(“Nhao so”, “So sanh”, 0)

If x >= 0 Then

MsgBox “So vua nhap la so lon hon hoac bang 0”

Else

MsgBox “So vua nhap la so nhỏ hơn 0”

End If

End Sub

2) Hàm IF nhiều điều kiện

Khi dùng hàm IF trong Excel, khi muốn so sánh nhiều điều kiện chúng ta phải sử dụng nhiều câu lệnh IF lồng vào ở điều kiện đúng hoặc sai. Nhưng trong VBA, các bạn có thể sử dụng ELSEIF để tạo thêm một điều kiện so sánh.

Tuy bạn có thể tạo nhiều ELSEIF nhưng không nên tạo quá nhiều vì sẽ ảnh hướng tới hiệu suất. Thay vào đó bạn có thể sử dụng hàm Switch trong VBA.

Cú pháp

If <điều kiện 1> Then

<lệnh thực thi nếu điều kiện 1 đúng>

ElseIf <điều kiện 2> Then

<lệnh thực thi nếu điều kiện 2 đúng>

ElseIf <điều kiện thứ n> Then

<lệnh thực thi nếu điều kiện thứ n đúng>

Else

<lệnh thực thi nếu các điều kiện trên không đúng>

End If

Ví dụ: So sánh số nhập từ InputBox với 0

Sub kiemtra_so()Dim so As Integerx = InputBox(“Nhao so”, “So sanh”, 0)If x = 0 ThenMsgBox “So vua nhap la so 0″ElseIf x > 0 ThenMsgBox “So vua nhap lon hon 0″ElseMsgBox “So vua nhap nho hon 0″End IfEnd Sub

3) Cách áp dụng hàm IF VBA vào Excel

Hàm IF trong VBA được sử dụng rất rộng, nó có thể được sử dụng riêng hay được lồng vào trong các vòng lặp để bắt giá trị theo điều kiện. Vậy để rõ hơn về cách sử dụng hàm IF trong VBA, các bạn hãy tham khảo tiếp các ví dụ cụ thể dưới đây nhé.

Ví dụ: Sử dụng điều kiện IF đơn không ELSE

Sử dụng lệnh IF đơn không ELSE khi bạn chỉ muốn kiểm tra điều kiện đúng thì thoát chương trình mà không cần kiểm tra đến điều kiện sai.

Ví dụ: Kiểm tra số nhập vào từ InputBox và hiển thị ra MsgBox nếu số nhập là 5.

Hình 2.2

InputBox thì hiển thị ra MsgBox và thoát chương trình.

Sub kiem_tra_so_5()

Dim so As Integer

so = InputBox(“Nhao so”, “kiem_tra_so_5”, 0)

If so = 5 Then

MsgBox “Ban vua nhap so 5”

Exit Sub

End If

MsgBox “Ban vua nhap so khac 5”

End Sub

 

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

1 + 1 = ? (Nhập Haii để trả lời đúng)

Bài viết liên quan
Truy vấn lồng (Subquery) trong SQL – Bí kíp giúp xử lý và truy xuất dữ liệu với mức độ phức tạp cao

Truy vấn lồng (Subquery) là một trong những công cụ hiệu quả trong SQL, giúp xử lý và truy xuất dữ liệu với mức độ phức tạp cao hơn so với

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi Doanh nhân tập sự – CLB Kỹ năng Doanh nhân (ACTION CLUB) – CSII Đại học Ngoại Thương TP. HCM (FTU2)

Ngày 21/06/2025 vừa rồi, với danh vị là Nhà tài trợ Học bổng – UniTrain hân hạnh tham dự chung kết cuộc thi Doanh nhân tập sự. Cuộc thi với quy

Xem thêm
Hàm TRIMRANGE() – Hàm xóa giá trị trống “đỉnh” hơn cả TRIM.

Như bạn đã biết hàm TRIM() trong Excel giúp loại bỏ các ký tự trống (khoảng trắng). Tương tự vậy hàm TRIMRANGE() được sử dụng để xóa các giá trị trống khỏi một phạm vi

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi Financial Student Contest (FSC) mùa 13 – CLB Tài chính – Chứng khoán (SeSC) – Đại học Ngoại Thương CSII TP. HCM (FTU2)

Chiều tối ngày 13/06/2025, Chung kết cuộc thi Financial Student Contest (FSC) mùa 13 do CLB Tài chính – Chứng khoán (SeSC) thuộc Đại học Ngoại Thương CSII TP. HCM (FTU2)

Xem thêm