Nội dung chính
Giả sử bạn có một danh sách điểm của học sinh trong một lớp trong Excel và bạn muốn đánh dấu tất cả những học sinh đạt điểm 10. Theo cách thủ công, bạn sẽ kiểm tra điểm của từng học sinh và nếu xuất hiện số 10, bạn sẽ đánh dấu tên học sinh đó, và nếu không, thì bạn sẽ để nguyên như vậy. Logic tương tự như vậy cũng có thể được xây dựng được trong VBA bằng cách sử dụng câu lệnh IF ELSE với nhiều công dụng hơn. Trong bài viết này, Gitiho sẽ chỉ dẫn bạn đọc cách dùng cấu trúc IF ELSE trong một số ví dụ thực tế.
Đọc bài viết này để nắm rõ hơn về các hàm của Excel nhé: Hướng dẫn cách viết các hàm trong Excel chi tiết dễ hiểu nhất
Đăng ký ngay khoá học Tuyệt đỉnh VBA - Viết code trong tầm tay
Cấu trúc IF thường sử dụng để xét tính logic Đúng / Sai của 1 vấn đề. Cấu trúc bao gồm:
Cấu trúc đơn giản của IF là chỉ xét trong trường hợp mệnh đề đúng:
Trong đó,
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
Nếu mệnh đề Không Đúng, sẽ không có gì xảy ra.
Cấu trúc rút gọn hơn có thể viết như sau:
Sub KiemTraGiaTri() If Range(“A1”).Value > 5 Then Range(“B1”).Value = “Đúng” End If End Sub
Xem thêm: Hướng dẫn các phép toán trong VBA: Phép nhân, phép chia, phép cộng, mô đun
Cấu trúc IF đầy đủ bao gồm cả trường hợp mệnh đề Đúng và mệnh đề Không Đúng.
Cấu trúc này được viết như sau:
Từ khóa Else trong cấu trúc này có nhiệm vụ xét trường hợp mệnh đề Không Đúng (không thỏa mãn).
Ví dụ: Hãy kiểm tra xem giá trị tại ô A1 có lớn hơn 5 hay không? Nếu > 5 thì trả kết quả về giá trị ''Đúng'' tại ô B1 và nếu không, thì trả kết quả về ''Sai'' tại ô B1.
Bạn đọc cần điều mã Code sau vào VBA:
Sub KiemTraGiaTri() If Range(“A1”).Value > 5 Then Range(“B1”).Value = “Đúng” Else Range(“B1”).Value = “Sai” End If End Sub
Với những yêu cầu phức tạp hơn, cấu trúc một lần IF không thể đáp ứng hết các điều kiện. Do vậy, cần thiết phải sử dụng lồng ghép nhiều cấu trúc IF trong một công thức.
Công thức hàm IF lồng nhau này có thể được viết như sau trong VBA:
Trong đó,
Trong công thức này, các mệnh đề IF có mối quan hệ nối tiếp nhau, và các mệnh đề sẽ được thực hiện lần lượt, chứ không cùng đồng thời thực hiện tất cả. Với quy luật sau:
Ví dụ: Dưới đây là bảng xét thưởng cho nhân viên An, hãy điền mức thưởng phù hợp với yêu cầu sau:
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 (Đúng) sẽ trả kết quả về giá trị ở ô C2 là các mức thưởng
Xem thêm: Hướng dẫn cách dùng các toán tử logic AND, OR, NOT trong VBA
Mã Code cần viết trong VBA như sau:
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 bài viết trên đã hướng dẫn các bạn đọc cách viết cũng như sử dụng cấu trúc IF ELSE một các bao quát và đa dạng nhất. Ngoài ra để biết thêm về những kiến thức hay như vậy với công cụ Excel hay VBA Excel thì đừng quên đón đọc những bài viết hữu ích trên blogs Gitiho hay đăng ký tham gia khóa học Tuyệt đỉnh VBA - Viết code trong tầm tay để nhận được hướng dẫn tận tình từ các chuyên gia hàng đầu Việt Nam nhé!
Chúc bạn áp dụng thành công!
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
Cùng tham gia cộng đồng hỏi đáp về chủ đề Tin học văn phòng
0 Bình luận