VBA Like Operator (proste przykłady) - Jak używać „Lubię to” w Excel VBA?

Spisie treści

VBA Like Operator

Podobnie jak operator w VBA i jest to operator porównania, który porównuje dany ciąg jako argument w zbiorze ciągów i pasuje do wzorca, jeśli wzorzec jest dopasowany, to uzyskany wynik jest prawdziwy, a jeśli wzorzec nie pasuje, to uzyskany wynik jest fałszywy, jest to operator wbudowany w VBA.

Operator „LIKE” jest najczęściej niedostatecznie wykorzystywanym operatorem pomimo jego wspaniałego zastosowania. Nie widziałem wielu ludzi, którzy używają tego operatora w pełnym zakresie w swoim kodowaniu. W rzeczywistości jestem jednym z nich, którzy nie używają tego operatora dość często. Operator „VBA LIKE” pozwala nam dopasować wzorzec ciągu do pełnego ciągu. Używając operatora VBA LIKE, możemy porównać dwa ciągi z podanym wzorem. Możemy sprawdzić, czy ciąg zawiera podciąg w VBA, lub możemy również sprawdzić, czy ciąg zawiera określony format. Jeśli wzorzec pasuje do łańcucha, operator VBA LIKE zwraca TRUE lub FALSE.

Podczas dopasowywania ciągów musimy używać symboli wieloznacznych do określonego wzoru. Poniżej znajdują się symbole wieloznaczne, których używamy w operatorze VBA LIKE.

  • Znak zapytania (?): Służy do dopasowania dowolnego znaku z ciągu. Na przykład, jeśli mamy ciąg „CAT”, a wzorzec to „C? T”, wówczas operator VBA LIKE zwraca wartość TRUE. Jeśli ciąg to „CATCH, a wzorce to„ C? T ”, operator VBA LIKE zwraca FALSE.
  • Gwiazdka (*): oznacza zero lub więcej znaków. Na przykład, jeśli ciąg ma wartość „Good”, a wzorzec to „G ** d”, operator VBA LIKE zwraca wartość TRUE.
  • Nawiasy (()): dopasowuje dowolny pojedynczy znak określony w nawiasach.
  • (Char-Char): dopasowuje dowolny pojedynczy znak z zakresu Char-Char.
  • (! Znaki): pasuje do każdego pojedynczego znaku, którego nie ma na liście.
  • (! Char-Char): dopasowuje każdy pojedynczy znak spoza zakresu Char-Char.

Przykłady operatora VBA LIKE

Zobaczmy teraz kilka przykładów operatora VBA LIKE.

Przykład 1 - ze znakiem zapytania

Kod:

Sub QuestionMark_Example1 () Dim k As String k = "Good" Jeśli k Like "Go? D" Then MsgBox "Yes" Else MsgBox "No" End If End Sub

W powyższym kodzie podaliśmy ciąg jako „Good”, a wzorzec to „Go? D”. Ponieważ znak zapytania może odpowiadać pojedynczemu znakowi, jako wynik wyświetli się „Tak”.

Teraz zmienię tekst na „Dzień dobry”.

Kod:

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

W tym przypadku pokaże „Nie”, ponieważ dodaliśmy jeszcze jedno słowo do ciągu, np. Poranek. Aby dopasować dowolną liczbę znaków, musimy użyć gwiazdki.

Przykład 2 - z gwiazdką

Kod:

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

W powyższym przykładzie dodałem dwie gwiazdki przed i po znaku „* Good *”. To dopasuje słowo „Good” w ciągu „Good Morning” i zwróci „Yes”.

Przykład # 3 - z nawiasami ()

Kod:

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

Powyższy kod odpowiada pojedynczej literze wymienionej w nawiasie „M” i zwraca wynik jako Tak.

Przykład # 4 - z nawiasami i alfabetami (AZ)

Kod:

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

Powyżej wspomniałem o znakach do dopasowania od A do D.

To zwróci „Nie”, ponieważ w ciągu „Dzień dobry ” nie ma żadnych znaków od A do D.

Teraz zmienię wzór na (AH)

Kod:

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

To zwróci „Tak”, ponieważ od A do H mamy znak „G” w ciągu „Dzień dobry”.

W ten sposób możemy użyć operatora VBA „LIKE”, aby dopasować dowolny ciąg z wzorca do znaków wieloznacznych.

Interesujące artykuły...