Hướng dẫn cách viết cấu trúc IF THEN ELSE trong VBA Excel

Trong lập trình nói chung, cấu trúc xét logic Đúng – Sai của một bài toán rất thường được sử dụng. Giống như sử dụng hàm IF trong Excel, trong VBA chúng ta cũng có cấu trúc IF của riêng mình. Trong bài viết này, chúng ta cùng tìm hiểu cách viết cấu trúc IF THEN ELSE trong Excel VBA.

Cách viết cấu trúc IF đơn giản

Cấu trúc IF để xem xét logic Đúng / Sai của một vấn đề, vì vậy nó thường bao gồm:

  • Nếu tuyên bố là đúng (thỏa mãn), điều gì xảy ra?
  • Nếu phát biểu không đúng (không thỏa mãn), điều gì xảy ra?

Cấu trúc đơn giản của IF là chỉ xem xét trường hợp câu lệnh là đúng:

Tải game crack việt hoá tại: https://daominhha.com

Các từ khóa của cấu trúc IF bao gồm:

NẾU NHƯsau đó Nếu mệnh đề trong IF là đúng thì

… Lệnh được thực thi

EndIf Hoàn thiện cấu trúc

Nếu tuyên bố không đúng, sẽ không có gì xảy ra.

Cấu trúc này cũng có thể được viết tắt như sau:

NẾU NHƯ + mệnh đề + sau đó + Câu lệnh được thực hiện khi mệnh đề đúng (viết trên cùng một dòng)

Dạng đơn giản của cấu trúc IF thường được sử dụng để xem xét các mệnh đề ngắn, đơn giản, trong đó chỉ quan tâm đến xác suất của kết quả thực sự của mệnh đề.

Ví dụ:

Xem giá trị trong ô A1 có lớn hơn 5. Nếu lớn hơn 5, hãy trả về True trong ô B1 (không làm gì nếu giá trị không lớn hơn 5)

>>> Xem thêm:  Chia sẻ công cụ chụp ảnh màn hình viết bằng code VBA và windows API

Phụ KiemTraGiaTri ()

Nếu như Phạm vi (“A1”). Giá trị> 5 sau đó

Phạm vi (“B1”). Giá trị = “Đúng”

EndIf

Kết thúc Sub

Cách viết cấu trúc IF đầy đủ

Cấu trúc hoàn chỉnh của IF là bao gồm cả câu lệnh đúng và sai.

Làm thế nào để viết nó như thế này:

Trong cấu trúc này, từ khóa Else xuất hiện để xét trường hợp mệnh đề không đúng (không thỏa mãn).

Ví dụ:

Xem giá trị trong ô A1 có lớn hơn 5. Nếu lớn hơn 5, trả về giá trị “Đúng” trong ô B1, nếu không lớn hơn 5, trả về giá trị “Sai” trong ô B1

Phụ KiemTraGiaTri ()

Nếu như Phạm vi (“A1”). Giá trị> 5 sau đó

Phạm vi (“B1”). Giá trị = “Đúng”

Khác

Phạm vi (“B1”). Giá trị = “Sai”

EndIf

Kết thúc Sub

Cách viết cấu trúc IF lồng nhau trong VBA

Khi xem xét các bài toán có logic phức tạp, chúng ta không thể chỉ sử dụng If một lần mà phải lồng nhiều If trong một cấu trúc. Điều này giống như viết các hàm If lồng nhau trong một công thức Excel. Tuy nhiên, trong VBA, cấu trúc này sẽ được thể hiện như sau:

  • Mệnh đề đầu tiên sẽ được viết bình thường
  • Từ mệnh đề thứ 2 sẽ được viết với ElseIf không chỉ Nếu nhưvà viết trước từ khóa Khác
  • Các mệnh đề khác sẽ được viết tương tự như mệnh đề thứ 2
  • Cuối cùng, khi tất cả các mệnh đề không được thỏa mãn, chúng tôi sẽ xem xét tại Khác
  • Hoàn thiện toàn bộ cấu trúc chỉ cần 1 lần EndIf

Cách viết này sẽ cô đọng hơn và Nếu các mệnh đề có quan hệ tuần tự thì sẽ thực hiện lần lượt từng mệnh đề chứ không thực hiện tất cả các mệnh đề.

  • Câu nói nào đúng sẽ dừng lại ở đó.
  • Chỉ khi câu lệnh trước là sai thì câu tiếp theo mới được xem xét.
>>> Xem thêm:  Hướng dẫn cách tách rời từng ký một tự ra khỏi chuỗi

Ví dụ:

Viết lệnh trong VBA để khen thưởng nhân viên An theo bảng tính trên:

Làm:

Dựa vào giá trị trong ô B2 để xem xét một mệnh đề so sánh giá trị của ô B2 với các mức bán hàng. Nếu thỏa mãn, giá trị trong ô C2 sẽ được trả về dưới dạng các mức thưởng

Phụ Nhận xét ()

Nếu như Phạm vi (“B2”). Giá trị> 500 sau đó ‘Trước tiên hãy xem xét giá trị B2> 500

Phạm vi (“C2”). Giá trị = 200

ElseIf Phạm vi (“B2”). Giá trị> 300 sau đó ‘Xét giá trị B2> 300 sau, trường hợp B2> 500 đã được xét trước đó, vì vậy trường hợp này chỉ là B2> 300 và B2 <= 500

Phạm vi (“C2”). Giá trị = 100

Khác

Phạm vi (“C2”). Giá trị = 0

EndIf

Kết thúc 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à một cấu trúc rất quan trọng và được sử dụng thường xuyên trong lập trình VBA.

Ngoài ra, 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 mảng trong VBA

Hướng dẫn cách viết mã với đối tượng Worksheet trong Excel VBA

Nguồn : Blog hocexcel