VBA Like Operator

Trong VBA, bạn có thể so sánh hai chuỗi bằng cách sử dụng Như toán tử để kiểm tra sự phù hợp của các chuỗi. Trong hướng dẫn này, bạn sẽ học cách sử dụng toán tử này với các mẫu khác nhau.

Nếu bạn muốn tìm hiểu cách so sánh các chuỗi trong VBA, 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 toán tử so sánh, hãy nhấp vào đây: Toán tử so sánh VBA - Không bằng & hơn thế nữa

Sử dụng toán tử Like để so sánh hai chuỗi

Với toán tử Like, chúng ta có thể kiểm tra xem một chuỗi có bắt đầu bằng một văn bản cụ thể hay không, bao gồm nó, v.v. Theo mặc định, Như toán tử so sánh các ký tự bằng phương thức Binary. Điều này có nghĩa là toán tử phân biệt chữ hoa chữ thường. Nếu bạn muốn phân biệt chữ hoa chữ thường, bạn cần đặt Tùy chọn So sánh Văn bản ở đầu mô-đun của bạn. Sử dụng phương pháp này, Như toán tử coi “S” và “s” là các ký tự giống nhau. Trong các ví dụ của chúng tôi, chúng tôi sẽ sử dụng so sánh mặc định, phân biệt chữ hoa chữ thường.

Nếu sự phù hợp tồn tại, Như toán tử trả về kết quả là True, hoặc False ngược lại.

Đầu tiên, chúng ta sẽ xem xét ví dụ đơn giản mà chúng ta muốn kiểm tra xem biến chuỗi của chúng ta có bắt đầu bằng Ông. Để thực hiện việc này, bạn cần đặt dấu hoa thị (*) ở cuối văn bản phù hợp (Ông*). Đây là mã:

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

Trong ví dụ này, chúng tôi muốn kiểm tra xem chuỗi strName bắt đầu với Ông và trả về True hoặc False trong biến blnResult.

Đầu tiên, chúng tôi đặt giá trị của strName đến Ông Michael James:

1 strName = "Ông Michael James"

Sau đó, chúng tôi sử dụng Như toán tử trong câu lệnh If:

12345 Nếu strName Like "Mr *" thìblnResult = ĐúngKhácblnResult = SaiKết thúc nếu

Như strName bắt đầu với Ông, NS blnResult trả về True:

Hình ảnh 1. Sử dụng toán tử Like để kiểm tra xem chuỗi có bắt đầu bằng các ký tự nhất định hay không

Sử dụng toán tử Like với các mẫu đối sánh khác nhau

Toán tử Like có thể kiểm tra sự phù hợp của hai chuỗi dựa trên các mẫu khác nhau. Dưới đây là danh sách các mẫu phù hợp có thể có:

Mã mẫu

Loại đối sánh

*

Khớp với 0 hoặc nhiều ký tự

?

Khớp một ký tự

#

Khớp một chữ số

[ký tự]

Khớp một ký tự từ một danh sách ký tự

[A-Z]

Khớp với bất kỳ ký tự viết hoa nào từ bảng chữ cái

[A-Za-z]

Khớp với bất kỳ ký tự nào từ bảng chữ cái

[! ký tự]

Khớp một ký tự đơn trừ một danh sách ký tự

Bây giờ chúng ta có thể xem cách sử dụng các mẫu này trong mã. Đây là ví dụ cho nhiều mẫu:

Khớp một ký tự:

1234567 strText1 = "ABCDE"Nếu strText1 Thích "AB? DE" thìblnResult1 = ĐúngKhácblnResult1 = SaiKết thúc nếu

Khớp một chữ số:

1234567 strText2 = "AB7DE"Nếu strText2 Như "AB # DE" thìblnResult2 = ĐúngKhácblnResult2 = SaiKết thúc nếu

Khớp với bất kỳ ký tự viết hoa nào từ bảng chữ cái:

1234567 strText3 = "ABCDE"Nếu strText3 Như "AB [A-Z] DE" thìblnResult3 = ĐúngKhácblnResult3 = SaiKết thúc nếu

Không khớp với bất kỳ ký tự viết hoa nào từ bảng chữ cái:

1234567 strText4 = "AB7DE"Nếu strText4 Như "AB [! A-Z] DE" thìblnResult4 = ĐúngKhácblnResult4 = SaiKết thúc nếu

Khớp với bất kỳ ký tự nào trong bảng chữ cái (chữ hoa hoặc chữ thường):

1234567 strText5 = "ABcDE"Nếu strText5 Như "AB [A-Za-z] DE" thìblnResult5 = ĐúngKhácblnResult5 = SaiKết thúc nếu

Khi bạn thực thi mã, bạn có thể thấy rằng Như toán tử trả về True trong blnResult các biến cho mọi so sánh:

Hình ảnh 2. Sử dụng toán tử Like với các mẫu đối sánh khác nhau

wave wave wave wave wave