Wildcards VBA

Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιείτε μπαλαντέρ στο VBA.

Οι μπαλαντέρ χρησιμοποιούνται σε όλες τις γλώσσες προγραμματισμού και στην εφαρμογή βάσεων δεδομένων, όπως ο SQL Server. Ένας μπαλαντέρ μπορεί να οριστεί ως σύμβολο που χρησιμοποιείται για την αντικατάσταση ενός ή περισσότερων χαρακτήρων σε μια συμβολοσειρά κειμένου. Για παράδειγμα, αυτή η συμβολοσειρά κειμένου - "mo*" - θα βρει τις λέξεις μαμά, ποντίκι, άλκος, μαμά κλπ. ενώ αυτή η συμβολοσειρά κειμένου "mo;" θα βρει μόνο τη λέξη μαμά ως μπαλαντέρ; αντικαθιστά μόνο έναν χαρακτήρα.

Χρησιμοποιούμε μπαλαντέρ με το Like Operator που είναι μια ευκολότερη εναλλακτική λύση στο VBA Regex.

Χρήση του μπαλαντέρ Asterix (*) στο VBA

Η μπαλαντέρ Asterix αντικαθιστά έναν ή περισσότερους χαρακτήρες σε μια συμβολοσειρά VBA.

Ας δούμε το ακόλουθο εύρος κελιών στο Excel:

Χρησιμοποιώντας μια μπαλαντέρ Asterix στον κώδικα VBA, μπορούμε να βρούμε όλα τα ονόματα που ξεκινούν με "M" και αλλάζουν το χρώμα του κειμένου σε κόκκινο.

12345678 Sub CheckForM ()Dim x ως ακέραιοςΓια x = 3 έως 8If Range ("B" & x). Αξία Like "M*" ΤότεΕύρος ("B" & x) .Χρώμα γραμματοσειράς = vbRedΤέλος εανΕπόμενο xΤέλος υπο

Επομένως, κάναμε μια περιήγηση στο εύρος και βρήκαμε όλα τα πρώτα ονόματα που ξεκινούν με το γράμμα Μ, όπως είναι η συμβολοσειρά μπαλαντέρ μας "Μ*

Το αποτέλεσμα της εκτέλεσης του παραπάνω κώδικα φαίνεται παρακάτω.

Αν χρησιμοποιούσαμε τη συμβολοσειρά μπαλαντέρ "Ma*" - τότε μόνο τα πρώτα ονόματα στα Β3 και Β4 θα άλλαζαν.

Χρησιμοποιώντας το ερωτηματικό (;) Wildcard στο VBA

Το ερωτηματικό θα αντικαταστήσει έναν μόνο χαρακτήρα σε μια συμβολοσειρά VBA.

Εξετάστε τα ακόλουθα δεδομένα:

Μπορούμε να χρησιμοποιήσουμε τη συμβολοσειρά μπαλαντέρ "? Im" για να βρούμε όλα τα πρώτα ονόματα που τελειώνουν σε "im"

12345678 Sub CheckForIM ()Dim x ως ακέραιοςΓια x = 3 έως 8Εάν Range ("B" & x). Value Like "? Im" ΤότεΕύρος ("B" & x) .Χρώμα γραμματοσειράς = vbRedΤέλος εανΕπόμενο xΤέλος υπο

Το αποτέλεσμα της εκτέλεσης αυτού του κώδικα φαίνεται παρακάτω:

Χρήση του [char list] ως μπαλαντέρ

Το παραπάνω παράδειγμα μπορεί να τροποποιηθεί ελαφρώς για να μας επιτρέψει να χρησιμοποιήσουμε το ερωτηματικό, εκτός από μια λίστα χαρακτήρων με επιτρεπόμενους χαρακτήρες. Η συμβολοσειρά μπαλαντέρ μπορεί επομένως να τροποποιηθεί σε "? [E-i] m" όπου ο πρώτος χαρακτήρας μπορεί να είναι οτιδήποτε, ο δεύτερος χαρακτήρας πρέπει να είναι ένας χαρακτήρας μεταξύ e και i και το τελευταίο γράμμα πρέπει να είναι ο χαρακτήρας "m". Επιτρέπονται μόνο 3 χαρακτήρες.

12345678 Sub CharListTest ()Dim x ως ακέραιοςΓια x = 3 έως 8If Range ("B" & x) .Value Like "? [E-i] m" ΤότεΕύρος ("B" & x) .Χρώμα γραμματοσειράς = vbRedΤέλος εανΕπόμενο xΤέλος υπο

Το αποτέλεσμα αυτού του κώδικα θα είναι:

Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!

Χρησιμοποιώντας το hash (#) Wildcard στο VBA

Η μπαλαντέρ hash (#) αντικαθιστά ένα μονοψήφιο σε μια συμβολοσειρά VBA. Μπορούμε να ταιριάξουμε μεταξύ 0 και 9.

12345678910 Sub CheckForNumber ()Dim x ως ακέραιος, y ως ακέραιοςΓια x = 3 έως 8Για y = 2 έως 5Αν ActiveSheet.Cells (x, y) Όπως "##" ΤότεActiveSheet.Cells (x, y) .Font.Color = vbRedΤέλος εανΕπόμενο yΕπόμενο xΤέλος υπο

Ο παραπάνω κώδικας θα περιηγηθεί σε όλα τα κελιά του εύρους ("B3: E8") και θα αλλάξει το χρώμα του κειμένου σε ένα κελί σε RED αν βρεθεί ένας διψήφιος αριθμός σε αυτό το κελί.

Στο παρακάτω παράδειγμα, ο κωδικός θα αλλάξει τον αριθμό μόνο εάν ο τελευταίος αριθμός είναι 9.

12345678910 Sub CheckFor9 ()Dim x ως ακέραιος, y ως ακέραιοςΓια x = 3 έως 8Για y = 2 έως 5Αν ActiveSheet.Cells (x, y) Όπως "#9" ΤότεActiveSheet.Cells (x, y) .Font.Color = vbRedΤέλος εανΕπόμενο yΕπόμενο xΤέλος υπο

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave