Hướng Dẫn Cách Viết Cấu Trúc IF THEN ELSE Trong VBA Excel
Có thể bạn quan tâm
Trong lập trình nói chung, cấu trúc xét tính logic Đúng – Sai của 1 vấn đề rất hay được sử dụng. Giống như việc sử dụng hàm IF trong Excel thì trong VBA chúng ta cũng có cấu trúc IF riêng. Trong bài viết này các bạn hãy cùng Học Excel Online tìm hiểu cách viết cấu trúc IF THEN ELSE trong VBA Excel nhé.
Cách viết cấu trúc IF dạng đơn giản
Cấu trúc IF để xét tính logic Đúng / Sai của 1 vấn đề, do đó thường gồm:
- Nếu mệnh đề đúng (thỏa mãn) thì xảy ra điều gì
- Nếu mệnh đề không đúng (không thỏa mãn) thì xảy ra điều gì
Cấu trúc đơn giản của IF là chỉ xét trong trường hợp mệnh đề đúng:
Từ khóa của cấu trúc IF gồm:
IF … Then Nếu mệnh đề trong IF là đúng thì
… Câu lệnh được thực hiện
End If Kết thúc cấu trúc
Trường hợp mệnh đề không đúng sẽ không có gì xảy ra.
Cấu trúc này còn có thể được viết rút gọn như sau:
IF + Mệnh đề + Then + Câu lệnh thực thi khi mệnh đề đúng (viết trên cùng 1 dòng)
Dạng đơn giản của cấu trúc IF thường dùng để xét các mệnh đề ngắn, đơn giản, tại đó chỉ quan tâm tới khả năng xảy ra kết quả đúng của mệnh đề
Ví dụ:
Xét xem giá trị tại ô A1 có phải là lớn hơn 5 không. Nếu lớn hơn 5 thì trả về giá trị Đúng tại ô B1 (không làm gì nếu giá trị không lớn hơn 5)
Sub KiemTraGiaTri()
If Range(“A1”).Value > 5 Then
Range(“B1”).Value = “Đúng”
End If
End Sub
Cách viết cấu trúc IF đầy đủ
Cấu trúc đầy đủ của IF là bao gồm cả trường hợp mệnh đề đúng và không đúng.
Cách viết như sau:
Ở cấu trúc này xuất hiện thêm từ khóa Else để xét trường hợp mệnh đề không đúng (không thỏa mãn)
Ví dụ:
Xét xem giá trị tại ô A1 có phải là lớn hơn 5 không. Nếu lớn hơn 5 thì trả về giá trị “Đúng” tại ô B1, nếu không lớn hơn 5 thì trả về giá trị “Sai” tại ô B1
Sub KiemTraGiaTri()
If Range(“A1”).Value > 5 Then
Range(“B1”).Value = “Đúng”
Else
Range(“B1”).Value = “Sai”
End If
End Sub
Cách viết cấu trúc IF lồng nhau trong VBA
Khi xét những vấn đề có logic phức tạp, chúng ta không thể chỉ dùng 1 lần If, mà phải lồng ghép nhiều lần If trong 1 cấu trúc. Việc này giống như viết các hàm If lồng nhau trong 1 công thức Excel vậy. Tuy nhiên trong VBA sẽ thể hiện cấu trúc này như sau:
- Mệnh đề đầu tiên sẽ viết bình thường
- Từ mệnh đề thứ 2 sẽ viết với ElseIf chứ không phải chỉ có If, và viết trước từ khóa Else
- Các mệnh đề khác sẽ viết giống với mệnh đề thứ 2
- Cuối cùng khi tất cả các mệnh đề đều không thỏa mãn thì sẽ xét tại Else
- Kết thúc toàn bộ cấu trúc chỉ cần 1 lần End If
Cách viết này sẽ gọn hơn và các mệnh đề If có mối quan hệ nối tiếp nhau, sẽ thực hiện lần lượt theo từng mệnh đề chứ không thực hiện tất cả các mệnh đề.
- Mệnh đề nào đúng sẽ dừng lại ở mệnh đề đó.
- Chỉ khi mệnh đề trước sai thì mới xét tiếp mệnh đề sau.
Ví dụ:
Viết lệnh trong VBA để xét thưởng cho nhân viên An theo bảng tính trên:
Cách làm:
Dựa vào giá trị ở ô B2 để xét mệnh đề so sánh giá trị ô B2 với các mức doanh thu. Nếu thỏa mãn sẽ trả về giá trị ở ô C2 là các mức thưởng
Sub XetThuong()
If Range(“B2”).Value > 500 Then ‘Xét giá trị B2 > 500 trước
Range(“C2”).Value = 200
ElseIf Range(“B2”).Value > 300 Then ‘Xét giá trị B2 > 300 sau, trường hợp B2 > 500 đã xét trước đó nên trường hợp này chỉ là B2 > 300 và B2 <= 500
Range(“C2”).Value = 100
Else
Range(“C2”).Value = 0
End If
End Sub
Hy vọng qua bài viết này các bạn đã có thể biết cách sử dụng cấu trúc IF trong lập trình VBA. Đây là cấu trúc rất quan trọng và thường xuyên được sử dụng trong lập trình VBA.
Ngoài ra các bạn có thể tìm hiểu thêm các bài viết sau:
Hướng dẫn sử dụng vòng lặp For.. Next trong VBA
Hướng dẫn thay đổi cấu trúc của mảng trong VBA
Hướng dẫn cách viết code với đối tượng Worksheet trong VBA Excel
Từ khóa » Cách Dùng Hàm If Else
-
Bài 13. Câu Lệnh If Else Trong C - Lập Trình Không Khó
-
Hàm IF – Các Công Thức được Kết Hợp Với Nhau Và Tránh Các Rắc Rối
-
Cấu Trúc Lệnh If Else Trong C++ (có Bài Tập Thực Hành)
-
Câu Lệnh điều Kiện If Else | Hướng Dẫn Học PHP
-
Lệnh If, If...else, If...elif...else Trong Python
-
Lệnh If Else Trong Excel - .vn
-
Lệnh If...else Trong C - Hoclaptrinh
-
Mệnh đề If-else Trong C++ - Học Lập Trình C++ Online - Viettuts
-
Lệnh If...else Trong C | 64 Bài Học Lập Trình C Hay Nhất
-
If Trong C Với Một Hoặc Nhiều điều Kiện
-
Câu điều Kiện If Else Là Gì? Cấu Trúc Câu Lệnh If Else Trong C/C++
-
Tất Tần Tật Về Câu Lệnh If Else Trong Ngôn Ngữ C/C++
-
Cách Dùng Hàm IF Trong Excel, Có Ví Dụ Hướng Dẫn Cụ Thể
-
Hàm IF Trong Excel: Cách Dùng, Có Ví Dụ đơn Giản Dễ Hiểu