[Excel VBA tip] Các toán tử logic

Trong bài viết về VBA Excel này, bạn sẽ tiếp tục tìm hiểu về cách sử dụng và áp dụng các toán tử Logic như NOT, AND, OR trong VBA để đơn giản hóa lệnh trong các hàm so sánh điều kiện.

 

Bạn sẽ hay thấy các toán tử Logic được sử dụng trong các nhánh hàm như IF, ELSE IF. Giúp nhóm nhiều điều kiện cùng thực thi chức năng như nhau. Vì vậy, hàm lệnh sẽ gọn và dễ hiểu hơn thay vì sử dụng nhiều hàm IF.

Các toán tử Logic thường dùng trong VBA Excel

Để kiểm tra các điều kiện bạn có thể sử dụng 3 toán tử Logic phổ biến trong VBA sau:

Hình 2

  1. Toán tử Logic NOT trong vba Excel

Logic NOT được dùng để kiểm tra một giá trị hay một biến không phải là một cái gì đó.

Ví dụ kiểm tra Cells A2 có phải là Cells rỗng hay không.

Sub CellA2()

If Not Range(“A2, A2”) = “” Then

MsgBox “Cell A2 không phai la Cell rong”

Else

MsgBox “Cell A2 la Cell rong”

End If

End Sub

 

Trong đó:

  • Not Range(“A2, A2”) = “”: có nghĩa là Cell A2 không phải là Cell rỗng. Tức là Cells A2 có giá trị, nếu đúng thì thực thi nhánh lệnh.
  1. Toán tử Logic AND trong VBA Excel

AND được dùng khi bạn muốn kiểm tra nhiều giá trị, biến hoặc điều kiện. Nếu tất cả các điều kiện là TRUE thì thực thị lệnh nhánh đó.

Để rõ hơn Logic AND hoạt động, bạn hãy xem bảng Logic dưới đây.

Hình 3

  • Xét qua bảng, chỉ duy nhất AND trả về 1 (TRUE) khi tất cả điều kiện khác đều bằng TRUE. Có nghĩa là để thực thi nhánh lệnh có AND thì tất cả các điều kiện phải là TRUE.

Ví dụ: Kiểm tra điểm nhập vào của học sinh có phải là điểm khá hay không?

Sub kiemtradiem()

Dim diemso As Double

diem = InputBox(“Nhap so”, “Diem”, 0)

If (Round(diem, 1) >= 6.5) AND (Round(diem, 1) <= 7.9) Then

MsgBox “Hoc luc Khá”

Else

MsgBox “Khong phai hoc luc Khá”

End If

End Sub

Trong đó:

  • Điểm số được nhập vào từ InputBox.
  • Ở điều kiện IF, kiểm tra giá trị nhập vào vừa thỏa lớn hơn 6.5 vừa phải nhỏ hơn 7.9.
  1. Toán tử Logic OR trong VBA Excel

Khác với toán tử AND. Toán tử OR chỉ cần một trong các điều kiện đúng thì sẽ ngưng kiểm tra các điều kiện còn lại và thực thị lệnh trong nhánh đó.

Bạn hãy xem bảng Logic dưới đây để hiểu rõ hơn về cách Logic OR hoạt động.

Hình 4

  • Xét qua bảng thì chỉ có duy nhất OR trả về 0 (FALSE) khi các điều kiện khác đều bằng FALSE. Và ở các trường hợp còn lại đều trả về TRUE khi một điều kiện là TRUE. Điều này có nghĩa, để thực thi nhánh lệnh có OR thì ít nhất một điều kiện phải có kết quả là TRUE.
  1. Cách sử dụng các toán tử Logic trong cùng một nhánh điều kiện

Trong nhiều trường hợp, bạn có thể sử dụng nhiều nhóm Logic với nhau trong cùng một nhánh điều kiện IF. Việc này sẽ giúp hàm lệnh của bạn đơn giản hơn rất nhiều so với sử dụng nhiều IF lồng nhau.

Ví dụ: Kiểm tra số nhập vào có thỏa các điều kiện như nằm trong kho ảng giá trị từ 3 đến 9 hoặc 11 đến 15 và không phải là giá trị 7 hoặc 14.

Sub kiemtra()

Dim so1 As Integer

so1 = InputBox(“Nhap so”, “So 1”, 0)

If ((so1 >= 3 And so1 <= 9) Or (so1 >= 11 And so1 <= 15)) And Not (so1 = 7 Or so1 = 14) Then

MsgBox “Ban da nhap dung”

Else

MsgBox “Ban da nhap sai”

End If

End Sub

** Cách nhóm điều kiện sẽ thực thi từ trái qua phải và phân nhóm với nhau bằng cặp dấu (), vì vậy bạn cần đặt nhóm chính xác để kết quả trả về đúng.

 

 

Để 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
Phím tắt Excel giúp tiết kiệm 90% thời gian nhập liệu

Trong quá trình xử lý dữ liệu bằng Excel, việc sử dụng các phím tắt không chỉ giúp tối ưu tốc độ làm việc mà còn tăng tính chính xác. Bài

Xem thêm
Ứng dụng hàm TEXTJOIN nâng cao trong Excel

1. Giới thiệu hàm TEXTJOIN và IF  Hàm TEXTJOIN trong Excel giúp nối các giá trị từ một phạm vi hoặc danh sách các ô, sử dụng dấu phân cách tùy

Xem thêm
30 tháng Tư rực rỡ, 01 tháng Năm ưu đãi bất ngờ

Mừng 50 năm thống nhất Đất nước, UniTrain ưu đãi đến 2.500.000 VNĐ trên học phí gốc cho học viên đăng ký các khóa combo. Hình thức online: 🔸Giảm 1.400.000đ trên học

Xem thêm
Nối các mảng dữ liệu trong Python

Trong quá trình xử lý dữ liệu với pandas, việc kết hợp nhiều bảng dữ liệu là thao tác rất phổ biến. Hàm concat() chính là công cụ mạnh mẽ giúp

Xem thêm