VBA Like Operator (Ví dụ dễ dàng) | Làm thế nào để sử dụng "Like" trong Excel VBA?

VBA Like Operator

Giống như là một toán tử trong VBA và đây là một toán tử so sánh so sánh một chuỗi đã cho dưới dạng đối số trong một tập hợp các chuỗi và nó khớp với mẫu, nếu mẫu được khớp thì kết quả thu được là đúng và nếu mẫu không khớp thì kết quả nhận được là sai, đây là một toán tử có sẵn trong VBA.

Toán tử "LIKE" là toán tử được sử dụng ít nhất mặc dù cách sử dụng tuyệt vời của nó. Tôi đã không thấy nhiều người sử dụng toán tử này ở mức độ đầy đủ trong mã hóa của họ, Thực tế, tôi là một trong số họ không sử dụng toán tử này khá thường xuyên. Toán tử “VBA LIKE” cho phép chúng ta so khớp mẫu của chuỗi với chuỗi đầy đủ. Bằng cách sử dụng toán tử VBA LIKE, chúng ta có thể so sánh hai chuỗi với mẫu đã cho. Chúng tôi có thể kiểm tra xem chuỗi có chứa chuỗi con trong VBA hay không hoặc chúng tôi cũng có thể kiểm tra xem chuỗi có chứa bất kỳ định dạng cụ thể nào hay không. Nếu mẫu khớp với chuỗi thì toán tử VBA LIKE trả về TRUE hoặc nếu không thì FALSE.

Trong khi khớp các chuỗi, chúng ta cần sử dụng các ký tự đại diện cho mẫu mà chúng ta chỉ định. Dưới đây là các ký tự đại diện chúng tôi sử dụng trong toán tử VBA LIKE.

  • Dấu hỏi (?): Dấu này được sử dụng để khớp với bất kỳ một ký tự nào trong chuỗi. Ví dụ, nếu chúng ta có một chuỗi “CAT” và mẫu là “C? T” thì toán tử VBA LIKE trả về TRUE. Nếu chuỗi là “CATCH và các mẫu là“ C? T ”thì toán tử VBA LIKE trả về FALSE.
  • Dấu hoa thị (*): Dấu này khớp với không hoặc nhiều ký tự. Ví dụ: nếu chuỗi là "Tốt" và mẫu là "G ** d", toán tử VBA LIKE trả về TRUE.
  • Dấu ngoặc ([]): Điều này khớp với bất kỳ một ký tự đơn nào được chỉ định trong dấu ngoặc.
  • [Char-Char]: Điều này khớp với bất kỳ ký tự đơn nào trong phạm vi Char-Char.
  • [! Chars]: Điều này khớp với bất kỳ ký tự đơn lẻ nào không có trong danh sách.
  • [! Char-Char]: Điều này khớp với bất kỳ ký tự đơn lẻ nào không nằm trong phạm vi Char-Char.

Ví dụ về toán tử VBA LIKE

Bây giờ chúng ta hãy xem một số ví dụ về toán tử VBA LIKE.

Bạn có thể tải Mẫu VBA Like Excel này tại đây - Mẫu VBA Like Excel

Ví dụ # 1 - Có Dấu hỏi

Mã:

 Sub QuestionMark_Example1 () Dim k As String k = "Good" If k Like "Go? D" Then MsgBox "Yes" Khác MsgBox "No" End If End Sub 

Trong đoạn mã trên, chúng tôi đã cung cấp chuỗi là "Tốt" và mẫu là "Đi? D". Vì dấu chấm hỏi có thể khớp với một ký tự nên nó sẽ hiển thị kết quả là “Có”.

Bây giờ tôi sẽ thay đổi chuỗi thành “Chào buổi sáng”.

Mã:

 Sub QuestionMark_Example1 () Dim k As String k = "Good Morning" If k Like "Go? D" Then MsgBox "Yes" Khác MsgBox "No" End If End Sub 

Trong trường hợp này, nó sẽ hiển thị “Không” vì chúng ta đã thêm một từ nữa vào chuỗi tức là Buổi sáng. Để khớp với bất kỳ số ký tự nào, chúng ta cần sử dụng dấu hoa thị.

Ví dụ # 2 - Với Dấu hoa thị

Mã:

 Sub QuestionMark_Example2 () Dim k As String k = "Good Morning" If k Like "* Good *" Then MsgBox "Yes" Khác MsgBox "No" End If End Sub 

Trong ví dụ trên, tôi đã thêm hai dấu hoa thị trước và sau ký tự “* Tốt *”. Điều này sẽ khớp với từ "Good" trong chuỗi "Good Morning" và trả về "Có".

Ví dụ # 3 - Với Dấu ngoặc []

Mã:

 Sub QuestionMark_Example3 () Dim k As String k = "Good Morning" If k Like "* [M] *" Then MsgBox "Yes" Else MsgBox "No" End If End Sub 

Đoạn mã trên khớp với ký tự đơn được đề cập trong ngoặc “M” và trả về kết quả là Có.

Ví dụ # 4 - Với Dấu ngoặc và Bảng chữ cái [AZ]

Mã:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AD] *" Then MsgBox "Yes" Else MsgBox "No" End If End Sub 

Ở trên, tôi đã đề cập đến các ký tự để ghép từ A đến D.

Điều này sẽ trả về "Không" vì không có ký tự nào từ A đến D trong chuỗi "Chào buổi sáng" .

Bây giờ tôi sẽ thay đổi mẫu thành [AH]

Mã:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" Nếu k Thích "* [AH] *" Thì MsgBox "Có" Khác MsgBox "Không" Kết thúc Nếu Kết thúc Sub 

Điều này sẽ trả về "Có" vì từ A đến H chúng ta có một ký tự "G" trong chuỗi "Chào buổi sáng"

Như vậy, chúng ta có thể sử dụng toán tử VBA “LIKE” để so khớp bất kỳ chuỗi nào từ mẫu với các ký tự thẻ đại diện.


$config[zx-auto] not found$config[zx-overlay] not found