Instr σε Excel VBA - Εύκολες μακροεντολές Excel

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

Απλή λειτουργία Instr | Θέση έναρξης | Μηδέν | Instr and If | Αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων

Χρήση Instr σε Excel VBA για να βρείτε τη θέση ενός υποχορδού σε μια συμβολοσειρά. Η λειτουργία Instr είναι αρκετά ευέλικτη.

Τοποθετήστε ένα κουμπί εντολών στο φύλλο εργασίας σας και προσθέστε τις γραμμές κώδικα παρακάτω. Για να εκτελέσετε τις γραμμές κώδικα, κάντε κλικ στο κουμπί εντολών στο φύλλο.

Απλή λειτουργία Instr

Από προεπιλογή, η συνάρτηση Instr ξεκινά την αναζήτηση στην αρχή της συμβολοσειράς (θέση 1).

Κώδικας:

Dim κατάσταση ως συμβολοσειρά
πολιτεία = "Βιρτζίνια"
MsgBox InStr (κατάσταση, "gin")

Αποτέλεσμα:

Σημείωση: η συμβολοσειρά "gin" βρέθηκε στη θέση 4.

Θέση έναρξης

Η δεύτερη συνάρτηση Instr παρακάτω ξεκινά την αναζήτηση στη θέση 7.

Κώδικας:

Dim κατάσταση ως συμβολοσειρά
πολιτεία = "Νότια Καρολίνα"
MsgBox InStr (κατάσταση, "o")
MsgBox InStr (7, κατάσταση, "o")

Αποτέλεσμα:

Επεξήγηση: η πρώτη συνάρτηση Instr βρίσκει τη συμβολοσειρά "o" στη θέση 2. Η δεύτερη συνάρτηση Instr ξεκινά την αναζήτηση στη θέση 7 και βρίσκει τη συμβολοσειρά "o" στη θέση 10.

Μηδέν

Η συνάρτηση Instr επιστρέφει 0 αν η συμβολοσειρά δεν βρεθεί (σημαντική όπως θα δούμε στη συνέχεια).

Κώδικας:

Dim κατάσταση ως συμβολοσειρά
πολιτεία = "Φλόριντα"
MsgBox InStr (κατάσταση, "εμείς")

Αποτέλεσμα:

Συμπέρασμα: η συμβολοσειρά "εμείς" δεν βρέθηκε.

Instr και If

Ας δημιουργήσουμε ένα απλό πρόγραμμα VBA που χρησιμοποιεί το Λειτουργία Instr.

Κώδικας:

Χαμηλή κατάσταση ως συμβολοσειρά, υποσύρματη ως συμβολοσειρά
κατάσταση = Εύρος ("A2"). Τιμή
substring = Range ("B2"). Τιμή
Εάν InStr (κατάσταση, υποσύστημα)> 0 Τότε
Εύρος ("C2"). Τιμή = "Βρέθηκε"
Αλλού
Εύρος ("C2"). Τιμή = "Δεν βρέθηκε"
Τέλος εαν

Αποτέλεσμα όταν κάνετε κλικ στο κουμπί εντολών στο φύλλο:

Επεξήγηση: η συμβολοσειρά "outh" βρέθηκε στη θέση 2. Η συνάρτηση Instr επιστρέφει 2. Ως αποτέλεσμα, το Excel VBA τοποθετεί τη συμβολοσειρά "Βρέθηκε" στο κελί C2.

Αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων

Από προεπιλογή, η λειτουργία Instr πραγματοποιεί αναζήτηση με διάκριση πεζών-κεφαλαίων. Εισαγάγετε τη συμβολοσειρά "dakota" στο κελί B2 και κάντε κλικ στο κουμπί εντολών στο φύλλο.

Επεξήγηση: η συμβολοσειρά "dakota" δεν βρέθηκε (το πρώτο γράμμα δεν είναι κεφαλαίο). Η συνάρτηση Instr επιστρέφει 0. Ως αποτέλεσμα, το Excel VBA τοποθετεί τη συμβολοσειρά "Δεν βρέθηκε" στο κελί C2.

Για να πραγματοποιήσετε αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων, ενημερώστε τον κώδικα ως εξής:

Χαμηλή κατάσταση ως συμβολοσειρά, υποσύρματη ως συμβολοσειρά
κατάσταση = Εύρος ("A2"). Τιμή
substring = Range ("B2"). Τιμή
Εάν InStr (1, κατάσταση, υπό συμβολοσειρά, vbTextCompare)> 0 Τότε
Εύρος ("C2"). Τιμή = "Βρέθηκε"
Αλλού
Εύρος ("C2"). Τιμή = "Δεν βρέθηκε"
Τέλος εαν

Αποτέλεσμα όταν κάνετε κλικ στο κουμπί εντολών στο φύλλο:

Επεξήγηση: η συνάρτηση Instr που φαίνεται παραπάνω έχει 4 ορίσματα. Για να πραγματοποιήσετε αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων, καθορίστε πάντα μια θέση έναρξης (πρώτο όρισμα) και χρησιμοποιήστε το vbTextCompare (τέταρτο όρισμα).

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

wave wave wave wave wave