VBA Like Operator (Εύκολα παραδείγματα) - Πώς να χρησιμοποιήσετε το "Like" στο Excel VBA;

Πίνακας περιεχομένων

VBA Like Operator

Όπως είναι ένας τελεστής στο VBA και αυτός είναι ένας τελεστής σύγκρισης που συγκρίνει μια δεδομένη συμβολοσειρά ως όρισμα σε ένα σύνολο συμβολοσειρών και ταιριάζει με το μοτίβο, εάν το μοτίβο ταιριάζει, το αποτέλεσμα που λαμβάνεται είναι αληθινό και εάν το μοτίβο δεν ταιριάζει τότε το Το αποτέλεσμα που αποκτήθηκε είναι λανθασμένο, αυτός είναι ένας ενσωματωμένος τελεστής στο VBA.

Ο χειριστής “LIKE” είναι ο χειρότερος χειριστής παρά την υπέροχη χρήση του. Δεν έχω δει πολλά άτομα που χρησιμοποιούν αυτόν τον τελεστή σε πλήρη έκταση στην κωδικοποίησή τους. Στην πραγματικότητα, είμαι ένας από αυτούς που δεν χρησιμοποιεί αυτόν τον χειριστή αρκετά συχνά. Ο χειριστής "VBA LIKE" μας επιτρέπει να ταιριάξουμε το μοτίβο της συμβολοσειράς με την πλήρη συμβολοσειρά. Χρησιμοποιώντας τον τελεστή VBA LIKE, μπορούμε να συγκρίνουμε δύο χορδές με την τιμή που δίνετε. Μπορούμε να ελέγξουμε εάν η συμβολοσειρά περιέχει ένα υπόστρωμα στο VBA ή μπορούμε επίσης αν το string περιέχει κάποια συγκεκριμένη μορφή. Εάν το μοτίβο ταιριάζει με τη συμβολοσειρά, τότε ο τελεστής VBA LIKE επιστρέφει TRUE ή αλλιώς FALSE.

Ενώ ταιριάζουμε με τις συμβολοσειρές, πρέπει να χρησιμοποιήσουμε χαρακτήρες μπαλαντέρ στην ονομασία που καθορίζουμε. Ακολουθούν οι χαρακτήρες μπαλαντέρ που χρησιμοποιούμε στον χειριστή VBA LIKE.

  • Ερωτηματικό (?): Χρησιμοποιείται για να ταιριάζει με έναν χαρακτήρα από τη συμβολοσειρά. Για παράδειγμα, εάν έχουμε μια συμβολοσειρά "CAT" και το μοτίβο είναι "C? T", τότε ο τελεστής VBA LIKE επιστρέφει TRUE. Εάν η συμβολοσειρά είναι "CATCH και τα μοτίβα είναι" C? T ", τότε ο τελεστής VBA LIKE επιστρέφει FALSE.
  • Αστερίσκος (*): Ταιριάζει με μηδενικούς ή περισσότερους χαρακτήρες. Για παράδειγμα, εάν η συμβολοσειρά είναι "Καλή" και το μοτίβο είναι "G ** d", ο τελεστής VBA LIKE επιστρέφει ΑΛΗΘΕΙΑ.
  • Αγκύλες (()): Αυτό ταιριάζει με έναν μόνο χαρακτήρα που καθορίζεται στις αγκύλες.
  • (Char-Char): Αυτό ταιριάζει με έναν μόνο χαρακτήρα στην περιοχή Char-Char.
  • (! Chars): Αυτό ταιριάζει με έναν μόνο χαρακτήρα που δεν περιλαμβάνεται στη λίστα.
  • (! Char-Char): Αυτό ταιριάζει με οποιονδήποτε μεμονωμένο χαρακτήρα που δεν βρίσκεται στην περιοχή Char-Char.

Παραδείγματα VBA LIKE Operator

Ας δούμε μερικά από τα παραδείγματα του χειριστή VBA LIKE τώρα.

Παράδειγμα # 1 - Με ερωτηματικό

Κώδικας:

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

Στον παραπάνω κώδικα, παρέχουμε τη συμβολοσειρά ως "Good" και το μοτίβο είναι "Go? D." Εφόσον το ερωτηματικό μπορεί να ταιριάζει με έναν μόνο χαρακτήρα, θα εμφανίσει το αποτέλεσμα ως "Ναι".

Τώρα θα αλλάξω τη συμβολοσειρά σε "Καλημέρα".

Κώδικας:

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

Σε αυτήν την περίπτωση, θα δείξει "Όχι" γιατί έχουμε προσθέσει μια ακόμη λέξη στη συμβολοσειρά, δηλαδή το πρωί. Για να ταιριάξουμε με οποιονδήποτε αριθμό χαρακτήρων, πρέπει να χρησιμοποιήσουμε τον αστερίσκο.

Παράδειγμα # 2 - Με τον αστερίσκο

Κώδικας:

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

Στο παραπάνω παράδειγμα, έχω προσθέσει δύο αστερίσκους πριν και μετά τον χαρακτήρα "* Good *". Αυτό θα ταιριάζει με τη λέξη "Καλή" στη συμβολοσειρά "Καλημέρα" και θα επιστρέψει "Ναι".

Παράδειγμα # 3 - Με αγκύλες ()

Κώδικας:

Sub QuestionMark_Example3 () Dim k As String k = "Good Morning" If k Like "* (M) *" Στη συνέχεια MsgBox "Ναι" Αλλιώς MsgBox "Όχι" Λήξη αν Λήξη Sub

Ο παραπάνω κωδικός ταιριάζει με το μεμονωμένο γράμμα που αναφέρεται στην αγκύλη «M» και επιστρέφει το αποτέλεσμα ως Ναι.

Παράδειγμα # 4 - Με αγκύλες και αλφάβητα (AZ)

Κώδικας:

Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* (AD) *" Έπειτα MsgBox "Ναι" Αλλιώς MsgBox "Όχι" Τέλος εάν Λήξη Sub

Στα παραπάνω, ανέφερα τους χαρακτήρες που ταιριάζουν από το Α έως το Δ.

Αυτό θα επιστρέψει "Όχι" επειδή δεν υπάρχουν χαρακτήρες από το Α έως το Δ στη συμβολοσειρά "Καλημέρα".

Τώρα θα αλλάξω το μοτίβο σε (AH)

Κώδικας:

Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* (AH) *" Στη συνέχεια MsgBox "Ναι" Αλλιώς MsgBox "Όχι" Λήξη αν Λήξη Sub

Αυτό θα επιστρέψει "Ναι" γιατί από το Α στο Ω, έχουμε έναν χαρακτήρα "G" στη συμβολοσειρά "Καλημέρα".

Έτσι, μπορούμε να χρησιμοποιήσουμε τον τελεστή VBA "LIKE" για να αντιστοιχίσουμε οποιαδήποτε συμβολοσειρά από το μοτίβο με χαρακτήρες μπαλαντέρ.

ενδιαφέροντα άρθρα...