Toán Tử Logic Trong VBA (And - Or - Not) - Freetuts
Có thể bạn quan tâm
Trong bài này mình sẽ giới thiệu các toán tử logic thường dùng trong VBA gồm: Toán tử And - toán tử Not và toán tử Or. Và như thường lệ, mình sẽ giải thích ý nghĩa, sau đó làm các ví dụ để bạn dễ theo dõi hơn.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Toán tử logic là những toán tử được dùng để nối hai biểu thức lại với nhau, và kết quả nó trả về phụ thuộc vào kể quả của hai biểu thức đó. Toán từ này được sử dụng rất nhiều trong các lệnh có kiểm tra điều kiện như If else và vòng lặp.
1. Toán tử AND trong VBA
Toán tử AND sẽ trả về true nếu cả hai vế đều true, và false nếu một trong hai vế false.
A AND BKết quả trả về:
Bài viết này được đăng tại [free tuts .net]
- true nếu A và B đều true
- false nếu A false hoặc B false hoặc cả hai đều false.
Ví dụ: Hãy xem chương trình dưới đây.
Dim score1 As Integer, score2 As Integer, result As String score1 = Range("A1").Value score2 = Range("B1").Value If score1 >= 60 And score2 > 1 Then result = "pass" Else result = "fail" End If Range("C1").Value = resultChương trình sẽ so sánh hai giá trị ở A1 và B1 và in quả so sánh ở ô C1.

Như bạn thấy, vì A1 = 80, B1 = 1 nên:
- score1 >= 60 trả về false
- score2 > 1 trả về true
=> điều kiện ở lệnh if bị sai nên lệnh else sẽ chạy, vì vậy C1 nhận giá trị là fail.
2. Toán tử OR trong VBA
Toán tử OR sẽ trả về true nếu một trong hai vế true, ngược lại trả về false khi cả hai vế đều false.
A OR BKết quả trả về:
- true nếu A true hoặc B true
- false nếu cả hai A và B đều false
Ví dụ: Thay toán tử AND thành toán tử OR ở ví dụ trên.
Dim score1 As Integer, score2 As Integer, result As String score1 = Range("A1").Value score2 = Range("B1").Value If score1 >= 60 Or score2 > 1 Then result = "pass" Else result = "fail" End If Range("C1").Value = resultNhư ta đã phân tích ở phần 1:
- score1 >= 60 trả về false
- score2 > 1 trả về true
Nhưng vì ta sử dụng toán tử Or nên kết quả score1 >= 60 Or score2 > 1 sẽ trả về true, và lệnh if sẽ được chạy nên kết quả in ra là "pass".

3. Toán tử NOT trong VBA
Đây là toán tử phủ định, nó sẽ đảo ngược giá trị của biểu thức đang sư dụng.
Giả sử ta có biểu thưc A có giá trị là true thì:
- NOT A sẽ trả về false
Biểu thức A có giá trị false thì:
- NOT A sẽ trả về true.
Hãy sửa lại ví dụ ở trên như sau:
Dim score1 As Integer, score2 As Integer, result As String score1 = Range("A1").Value score2 = Range("B1").Value If score1 >= 60 And Not score2 = 1 Then result = "pass" Else result = "fail" End If Range("C1").Value = resultTa thấy:
- score1 >= 60 trả về true
- score2 = 1 trả về true
Nhưng:
- Not score2 = 1 sẽ trả về false
Nên điều kiện score1 >= 60 And Not score2 = 1 sẽ trả về false, và kết quả sẽ in ra là fail.

Trên là ba toán tử logic gồm: Toán tử And, toán tử Or và toán tử Not được sử dụng nhiều nhất trong lập trình VBA nói chung và những lệnh có kiểm tra điều kiện nói riêng. Chúc bạn học tốt.
Từ khóa » Toán Tử Or
-
Toán Tử Logic, Toán Tử Trên Bit Và Toán Tử Gán Trong C++ - Góc Học IT
-
Toán Tử AND OR NOT IN Trong SQL
-
Toán Tử AND, OR Và NOT Trong SQL
-
Phép Toán Thao Tác Bit – Wikipedia Tiếng Việt
-
Toán Tử AND, OR Và NOT Trong SQL - BAC
-
Toán Tử AND Và OR Trong SQL - Học Sql Cơ Bản đến Nâng Cao
-
Toán Tử Logic Trong C Và Giá Trị True False
-
Toán Tử AND OR Và NOT Trong SQL - Lập Trình Từ Đầu
-
Bảng Toán Tử - Microsoft Support
-
Kiểu Dữ Liệu Boolean Và Các Toán Tử AND OR NOT Trong Python
-
Toán Tử OR Trong MySQL
-
Toán Tử Quan Hệ, Logic, Bitwise, Misc Và độ ưu Tiên Toán Tử Trong C++
-
Bài 4: Toán Tử Và Biểu Thức Trong C | Tìm ở đây
-
Toán Tử Trong C - AICurious
-
[Tự Học C++] Toán Tử Logical Trong C++ »
-
Hướng Dẫn Cách Dùng Các Toán Tử Logic AND, OR, NOT Trong VBA
-
Toán Tử AND, OR Và NOT Trong SQL
-
Chương 2: Cách Sử Dụng Toán Tử Tìm Kiếm - VietMoz Academy