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 τώρα.

Μπορείτε να κατεβάσετε αυτό το πρότυπο VBA Like Excel εδώ - Πρότυπο VBA Like Excel

Παράδειγμα # 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 

Στον παραπάνω κώδικα, παρέχουμε τη συμβολοσειρά ως "Καλό" και το μοτίβο είναι "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 "Yes" Else MsgBox "No" End if End Sub 

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

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

Κώδικας:

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

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

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

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

Κώδικας:

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

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

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