MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Toán tử Logic trong VBA (And - Or - Not)

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.

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.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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 B

Kết quả trả về:

  • 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 = result

Chương trình sẽ so sánh hai giá trị ở A1 và B1 và in quả so sánh ở ô C1.

logical operator and png

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 B

Kế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 = result

Như 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".

logical operator or png

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 = result

Ta 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.

logical operator not png

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.

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top