Cách sử dụng Câu lệnh If Else trong VBA? (với các ví dụ)

Câu lệnh khác trong Excel VBA IF

Không có câu lệnh IF Else nào trong trang tính và nó chỉ có thể được sử dụng trong mã VBA, trong khi làm việc trong VBA, chúng tôi có thể cung cấp một điều kiện là câu lệnh điều kiện If và nếu nó được đáp ứng một bộ hướng dẫn nhất định thì nó được thực thi và nếu điều kiện không thành công lệnh thì lệnh else được thực thi.

VBA không khác khi nói đến các bài kiểm tra logic. Nó hoạt động giống như cách nó hoạt động trong các trang tính thông thường. Trong tất cả các hàm logic, hàm “IF” chủ yếu được sử dụng từ lô. Sử dụng IF, chúng ta có thể tiến hành một bài kiểm tra logic và đi đến các quyết định nếu bài kiểm tra logic được thỏa mãn và cũng đưa ra các quyết định thay thế nếu bài kiểm tra logic không được thỏa mãn.

Dưới đây là cú pháp của điều kiện IF Khác.

IF Sau đó Nếu kiểm tra logic là TRUE Khác Nếu kiểm tra logic là FALSE Kết thúc IF

VBA IF Then Else Statement là gì?

Khi kiểm tra logic được cung cấp là FALSE, chúng tôi cần một số tác vụ thay thế để thực thi như một phần của mã. Vì vậy, "IF ELSE" có nghĩa là nếu bài kiểm tra logic là FALSE, thì cần phải làm gì khác.

Để hiểu rõ hơn ví dụ dưới đây, chúng tôi đã cung cấp kết quả là "10 lớn hơn" chỉ khi kiểm tra logic là ĐÚNG. Tuy nhiên, trong kết quả logic FALSE, chúng ta có thể cung cấp kết quả thay thế là "10 nhỏ hơn".

Vì vậy, khi các bài kiểm tra logic được cung cấp và mã phần ĐÚNG được viết ở dòng tiếp theo, hãy nhập từ “ELSE”.

ELSE có nghĩa là nếu kiểm tra logic không ĐÚNG, chúng ta cần kết quả là "10 nhỏ hơn".

Mã:

Sub IF_Else_Example1 () Nếu 10> 11 Thì MsgBox "10 lớn hơn" Khác MsgBox "10 nhỏ hơn" End If End Sub

Bây giờ mã của chúng tôi cho ít nhất bất kỳ kết quả nào ở trên. Thực thi mã và xem kết quả.

Vì chúng tôi đã cung cấp kết quả thay thế nếu phép kiểm tra logic là FALSE, nó đã hiển thị kết quả thay thế là "10 nhỏ hơn" vì 10 nhỏ hơn số 11 khác.

Thí dụ

Ví dụ, hãy xem dữ liệu dưới đây.

Với dữ liệu này, chúng tôi cần đưa ra trạng thái dựa trên "Chi phí" của từng sản phẩm. Để đến trạng thái bên dưới là các tiêu chí.

Nếu giá vốn> 50, trạng thái phải là " Đắt " hoặc trạng thái khác phải là " Không đắt ".

Ở đây chúng ta cần test giá vốn, tức là test logic xem giá vốn có> 50 hay không. Nếu kiểm tra logic là TRUE, tức là giá vốn lớn hơn 50, chúng tôi cần trạng thái là "Đắt" và nếu kiểm tra logic là FALSE, tức là giá thành nhỏ hơn 50, chúng tôi cần kết quả thay thế là "Không đắt."

Ok, hãy viết mã ngay bây giờ. Trước đó, hãy sao chép và dán bảng trên vào một trang tính excel.

Bước 1: Bắt đầu quy trình con.

Sub IF_ELSE_Example2 () End Sub

Bước 2: Khai báo biến là kiểu dữ liệu Integer.

Dim k As Integer

Bước 3: Vì chúng ta cần kiểm tra nhiều giá trị ô, chúng ta cần sử dụng FOR VBA LOOP để lặp qua các ô và áp dụng logic cho tất cả các ô.

Chúng ta cần áp dụng các bài kiểm tra logic từ hàng thứ 2 đến hàng thứ 8 , vì vậy hãy bắt đầu FOR LOOP từ 2 đến 8.

Mã:

Cho k = 2 đến 8 tiếp theo k

Bước 4: Bên trong vòng lặp này, chúng ta cần thực hiện kiểm tra logic. Vì vậy, hãy mở câu lệnh IF và chọn ô đầu tiên bằng cách sử dụng thuộc tính CELLS.

Mã:

Nếu Ô (k, 2). Giá trị> 50 Thì

Ở đây Ô (k, 2) có nghĩa là hàng (giá trị của k) và cột 2.

Bước 5: Nếu giá trị ô này> 50, chúng ta cần kết quả là “Đắt” trong ô cột tiếp theo. Vì vậy, mã sẽ là -

Mã:

Ô (k, 3) .Value = "Đắt"

Bước 6: Nếu kiểm tra không ĐÚNG, chúng tôi cần kết quả câu lệnh ELSE, tức là “Không đắt”.

Mã:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 to 8 If Cells (k, 2) .Value> 50 Then Cells (k, 3) .Value = "Expensive" Else Cells (k, 3) .Value = "Not Đắt "End If Next k End Sub

Mã này sẽ lặp lại từ hàng thứ 2 đến thứ 8 kiểm tra các con số và đi đến kết quả dựa trên giá vốn.

Như vậy, chúng ta có thể sử dụng If-Else để đến các kết quả thay thế.

Những điều cần ghi nhớ

  • Câu lệnh khác dành cho một bài kiểm tra logic FALSE.
  • Nếu bạn muốn áp dụng nhiều hơn hai phép thử logic trong excel, chúng ta cần sử dụng câu lệnh ELSE IF.
  • Trong trường hợp thực thi tác vụ cho nhiều ô, chúng ta cần sử dụng vòng lặp.
  • Câu lệnh If Else chỉ có thể kiểm tra một phép thử logic.

thú vị bài viết...