Toán Tử Logic Trong VBA (And - Or - Not)
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 » Cấu Trúc Lệnh Trong Vba
-
HƯỚNG DẪN ĐẦY ĐỦ CÂU LỆNH IF TRONG VBA - Học Excel Online
-
Tìm Hiểu Về VBA Và Cách Sử Dụng Cơ Bản Nhất Trong Excel (Phần 1)
-
Cấu Trúc Lệnh Trong VBA - Giáo Trình Access 2 - 123doc
-
Các Câu Lệnh VBA đơn Giản | Giải Pháp Excel
-
(PDF) Sách Lập Trình Excel Bằng VBA | Hùng Tô
-
[VBA Excel] Các Toán Tử Logic
-
Excel VBA: Các Mệnh đề điều Khiển - Viblo
-
Các Lệnh Logic điều Khiển Trong VBA
-
Các Vòng Lặp Trong VBA: Vòng Lặp For Và Do While
-
[Excel VBA Tip] Cách Sử Dụng Hàm IF Trong VBA Excel - .vn
-
Vòng Lặp For Trong VBA - VietTuts
-
Cách Sử Dụng Biến Trong VBA - Tin Học Văn Phòng
-
Hướng Dẫn Từng Bước Các Câu Lệnh Macro Trong Excel Bằng ...