VBA cho phép bạn sử dụng các toán tử so sánh để so sánh các giá trị. Bằng cách sử dụng các toán tử này, bạn có thể so sánh các giá trị và trả về kết quả là một Boolean True hoặc False.
Danh sách các toán tử so sánh chính trong VBA
Đầu tiên, chúng tôi sẽ hiển thị danh sách các toán tử so sánh có thể được sử dụng trong mã VBA:
Toán tử so sánh | Giải trình |
= |
Tương đương với |
Không bằng |
|
> |
Lớn hơn |
>= |
Lớn hơn hoặc bằng |
< |
Ít hơn |
<= |
Ít hơn hoặc bằng |
Tương đương với
Các Tương đương với toán tử kiểm tra xem hai giá trị có bằng nhau hay không và trả về True hoặc False. Đây là mã ví dụ:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Nếu intA = intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Trong ví dụ này, chúng tôi muốn kiểm tra xem intA bằng intB. Nếu điều này là đúng, giá trị của Boolean blnResult sẽ là True, ngược lại, nó sẽ là False.
Đầu tiên, chúng tôi đặt các giá trị của intA và intB đến 5:
12 | intA = 5intB = 5 |
Sau đó, chúng tôi sử dụng = toán tử trong câu lệnh If để kiểm tra xem các giá trị của intA và intB bằng nhau:
12345 | Nếu intA = intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Cả hai biến đều bằng 5, do đó blnResult trả về True:
Hình ảnh 1. Sử dụng toán tử Equal To
Không bằng
Các Không Tương đương với toán tử kiểm tra nếu hai giá trị không bằng nhau và trả về True hoặc False. Đây là mã ví dụ:
Một lỗi đã xảy ra. Vui lòng thử lại sau. |
Trong ví dụ này, chúng tôi muốn kiểm tra xem intA Không bằng intB. Nếu điều này là đúng, giá trị của Boolean blnResult sẽ là True, ngược lại, nó sẽ là False.
Chúng tôi sử dụng toán tử trong câu lệnh If để kiểm tra xem các giá trị của intA và intB khác nhau:
12345 | Nếu intA intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Giá trị của intA là 5 và giá trị của intB là 6, các biến không bằng nhau, do đó blnResult trả về True:
Hình ảnh 2. Sử dụng toán tử Not Equal To
Lớn hơn
Các Lớn hơn toán tử kiểm tra nếu giá trị đầu tiên lớn hơn giá trị thứ hai và trả về True hoặc False. Đây là mã ví dụ:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 6intB = 5Nếu intA> intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Trong ví dụ này, chúng tôi muốn kiểm tra xem intA lớn hơn intB. Nếu điều này là đúng, giá trị của Boolean blnResult sẽ là True, ngược lại, nó sẽ là False.
Hơn nữa, chúng tôi sử dụng > toán tử trong câu lệnh If để kiểm tra xem giá trị của intA lớn hơn intB:
12345 | Nếu intA> intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Tóm lại, nhưintA lớn hơn intB, NS blnResult trả về True:
Hình 3. Sử dụng toán tử Greater Than
Lớn hơn hoặc bằng
Các Lớn hơn hoặc bằng toán tử kiểm tra nếu giá trị đầu tiên lớn hơn hoặc bằng giá trị thứ hai và trả về True hoặc False. Đây là mã ví dụ:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Nếu intA> = intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Trong ví dụ này, chúng tôi muốn kiểm tra xem intA là lớn hơn hoặc bằng intB. Nếu điều này là đúng, giá trị của Boolean blnResult sẽ là True, ngược lại, nó sẽ là False.
Chúng tôi sử dụng dấu>= toán tử trong câu lệnh If để kiểm tra xem giá trị của intA là lớn hơn hoặc bằng intB:
12345 | Nếu intA> = intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Kết luận, vì cả hai biến đều bằng 5, blnResult trả về True:
Hình ảnh 4. Sử dụng toán tử Greater Than hoặc Equal To
Ít hơn
Các Ít hơn toán tử kiểm tra nếu giá trị đầu tiên nhỏ hơn giá trị thứ hai và trả về True hoặc False. Đây là mã ví dụ:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 6Nếu intA <intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Trong ví dụ này, chúng tôi muốn kiểm tra xem intA ít hơn intB. Nếu điều này là đúng, giá trị của Boolean blnResult sẽ là True, ngược lại, nó sẽ là False.
Chúng tôi sử dụng < toán tử trong câu lệnh If để kiểm tra xem giá trị của intA ít hơn intB:
12345 | Nếu intA <intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Như intA ít hơn intB, NS blnResult trả về True:
Hình 5. Sử dụng toán tử Less Than
Ít hơn hoặc bằng
Các Ít hơn hoặc Tương đương với toán tử kiểm tra nếu giá trị đầu tiên nhỏ hơn hoặc bằng và trả về True hoặc False. Đây là mã ví dụ:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Nếu intA <= intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Trong ví dụ này, chúng tôi muốn kiểm tra xem intA nhỏ hơn hoặc bằng intB. Nếu điều này là đúng, giá trị của Boolean blnResult sẽ là True, ngược lại, nó sẽ là False.
Chúng tôi sử dụng <= toán tử trong câu lệnh If để kiểm tra xem giá trị của intA nhỏ hơn hoặc bằng intB:
12345 | Nếu intA <= intB ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu |
Kết luận, vì cả hai biến đều bằng 5, blnResult trả về True:
Hình 6. Sử dụng toán tử Nhỏ hơn hoặc Bằng To
Là nhà điều hành
Toán tử Is kiểm tra nếu hai biến đối tượng chứa cùng một đối tượng:
12345678910111213 | Sub CompareObjects ()Dim ws1 As Worksheet, ws2 As WorksheetĐặt ws1 = Trang tính ("Trang tính1")Đặt ws2 = Trang tính ("Trang tính2")Nếu ws1 Là ws2 ThìMsgBox "Cùng WS"KhácMsgBox "Các WS khác nhau"Kết thúc nếuKết thúc Sub |
Giống như nhà điều hành
Toán tử Like có thể được sử dụng để tìm các kết quả phù hợp văn bản không chính xác. Ví dụ này sẽ kiểm tra xem một chuỗi bắt đầu bằng “Mr.”
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnResult As BooleanstrName = "Ông Michael James"Nếu strName Like "Mr *" thìblnResult = ĐúngKhácblnResult = SaiKết thúc nếuKết thúc Sub |
Nếu bạn muốn tìm hiểu cách so sánh các chuỗi, hãy nhấp vào đây: VBA Compare Strings - StrComp
Nếu bạn muốn tìm hiểu cách sử dụng các toán tử so sánh, hãy nhấp vào đây: Các toán tử logic VBA