Πίνακας περιεχομένων
Μία από τις πιο σημαντικές και ευρέως χρησιμοποιούμενες λειτουργίες που χρησιμοποιούμε κατά την εργασία με VBA στο Excel είναι το Μέση λειτουργία του VBA Παίρνει ένα αλφαριθμητικό ως είσοδο και επιστρέφει έναν δεδομένο αριθμό χαρακτήρων από τη μέση του αλφαριθμητικού ως έξοδο. Σήμερα σε αυτό το άρθρο, θα σας δείξω πώς μπορείτε να χρησιμοποιήσετε το Μέση λειτουργία του VBA με κατάλληλα παραδείγματα και εικόνες.
Αυτό θα επιστρέψει 9 χαρακτήρες από τη συμβολοσειρά "Angela Catherine Nevills" , ξεκινώντας από το 8η χαρακτήρα. Είναι "Catherine" .
Κατεβάστε το βιβλίο ασκήσεων
Κατεβάστε αυτό το βιβλίο εξάσκησης για να εξασκηθείτε στην εργασία ενώ διαβάζετε αυτό το άρθρο.
VBA Mid Function.xlsmΕισαγωγή στη λειτουργία Mid της VBA στο Excel
⧭ Λειτουργία Στόχος:
Το Μέσα λαμβάνει μια τιμή ως είσοδο και επιστρέφει έναν δεδομένο αριθμό χαρακτήρων που ξεκινούν από μια δεδομένη θέση της τιμής ως έξοδο.
Η τιμή μπορεί να είναι συμβολοσειρά, αριθμός , ή ακόμη και ένα boolean .
Για παράδειγμα, αν εισάγετε Mid("Angela Catherine Nevills",8,9), θα επιστρέψει "Catherine" .
Εάν εισάγετε Mid(12345,2,3) , θα πάρετε 234.
Και εισάγετε Mid(False,2,3) , θα πάρετε als .
⧭ Σύνταξη:
Η σύνταξη του Μέση λειτουργία του VBA είναι:
=Mid(String,Start as Long,[Length])
⧭ Επιχειρήματα:
Επιχειρήματα | Υποχρεωτικό / Προαιρετικό | Επεξήγηση |
---|---|---|
Συμβολοσειρά | Απαιτούμενο | Η συμβολοσειρά από την οποία θα επιστραφεί ένας αριθμός χαρακτήρων. |
Έναρξη | Απαιτούμενο | Ο αρχικός χαρακτήρας της συμβολοσειράς που θα επιστραφεί. |
Μήκος | Προαιρετικό | Ο αριθμός των χαρακτήρων που θα επιστραφούν. Προεπιλογή είναι 1. |
⧭ Τιμή επιστροφής:
Επιστρέφει έναν δεδομένο αριθμό χαρακτήρων από τη μέση μιας συμβολοσειράς, ξεκινώντας από μια δεδομένη θέση.
3 παραδείγματα της λειτουργίας Mid της VBA στο Excel
Αυτή τη φορά, ας εξερευνήσουμε το Μέση λειτουργία του VBA λεπτομερώς με μερικά παραδείγματα.
1. Διαχωρισμός ενός συγκεκριμένου αριθμού χαρακτήρων από τη μέση ορισμένων αναγνωριστικών χρησιμοποιώντας τη συνάρτηση Mid της VBA στο Excel
Εδώ έχουμε ένα σύνολο δεδομένων με το IDs και Ονόματα ορισμένων εργαζομένων μιας εταιρείας που ονομάζεται Saturn Group.
Εδώ, η 4η στο 7η οι χαρακτήρες κάθε αναγνωριστικού υποδηλώνουν το έτος ένταξης του αντίστοιχου εργαζομένου.
Τώρα θα αναπτύξουμε ένα Λειτουργία που ορίζεται από τον χρήστη χρησιμοποιώντας το Μέση λειτουργία του VBA που θα εξάγει το έτος ένταξης κάθε εργαζομένου από το Αναγνωριστικό υπαλλήλου .
Μπορείτε να χρησιμοποιήσετε τα εξής VBA κωδικός:
⧭ Κωδικός VBA:
Function Joining_Year(ID) Joining_Year = Mid(ID, 4, 4) End Function
Σημείωση: Αυτός ο κώδικας δημιουργεί μια συνάρτηση που ονομάζεται Joining_Year .
⧭ Έξοδος:
Εκτελέστε αυτή τη συνάρτηση σε οποιοδήποτε κελί του φύλλου εργασίας σας με όρισμα ένα ID.
Εδώ, στο κύτταρο D4 , έχουμε εισάγει τον τύπο:
=Έτος ένταξης(B4)
Έχει επιστρέψει το έτος ένταξης του πρώτου εργαζομένου, 2021 .
Τώρα μπορείτε να σύρετε το Χειρολαβή πλήρωσης για να λάβετε τα έτη ένταξης των υπόλοιπων εργαζομένων.
⧭ Επεξήγηση του κώδικα:
- Πρώτον, δηλώνουμε μια συνάρτηση που ονομάζεται Joining_Year που δέχεται ένα αναγνωριστικό ως είσοδο από τη γραμμή Λειτουργία Joining_Year(ID) .
- Στη συνέχεια, εξάγουμε 4 χαρακτήρες από το αναγνωριστικό ξεκινώντας από τη θέση 4 , από τη γραμμή Joining_Year = Mid(ID, 4, 4, 4) .
- Η γραμμή Τέλος λειτουργίας δηλώνει το τέλος της συνάρτησης.
2. Εξαγωγή των επεκτάσεων από ορισμένες διευθύνσεις ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας τη λειτουργία Mid της VBA στο Excel
Τώρα έχουμε προσθέσει μια νέα στήλη στο σύνολο δεδομένων, η οποία περιέχει τις διευθύνσεις ηλεκτρονικού ταχυδρομείου των εργαζομένων.
Αυτή τη φορά θα εξάγουμε τις επεκτάσεις των διευθύνσεων ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας την εντολή Μέσα συνάρτηση της VBA .
Το Κώδικας VBA θα είναι:
⧭ Κωδικός VBA:
Function Extension(Email_Address) For i = 1 To Len(Email_Address) If Mid(Email_Address, i, 1) = "@" Then Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) End If Next i End Function
Σημείωση: Αυτός ο κώδικας δημιουργεί μια συνάρτηση που ονομάζεται Επέκταση .
⧭ Έξοδος:
Εκτελέστε αυτή τη συνάρτηση σε οποιοδήποτε κελί του φύλλου εργασίας σας με ένα Διεύθυνση ηλεκτρονικού ταχυδρομείου ως επιχείρημα.
Εδώ, στο κύτταρο E4 , έχουμε εισάγει τον τύπο:
=Extension(D4)
Επέστρεψε την επέκταση της πρώτης διεύθυνσης ηλεκτρονικού ταχυδρομείου.
Στη συνέχεια, μπορείτε να σύρετε το Χειρολαβή πλήρωσης για να εξαγάγετε τις επεκτάσεις όλων των διευθύνσεων ηλεκτρονικού ταχυδρομείου.
⧭ Επεξήγηση του κώδικα
- Πρώτον, δηλώνουμε μια συνάρτηση που ονομάζεται Επέκταση που δέχεται οποιοδήποτε όνομα ως είσοδο από τη γραμμή Λειτουργία Επέκταση(Διεύθυνση ηλεκτρονικού ταχυδρομείου) .
- Στη συνέχεια, ξεκινάμε μια επανάληψη με ένα for-loop που ελέγχει κάθε χαρακτήρα του Διεύθυνση ηλεκτρονικού ταχυδρομείου για να δείτε αν είναι @ ή όχι από τη γραμμή If Mid(Email_Address, i, 1) = "@" Then .
- Εάν βρει ένα @ , τότε εξάγει την απαιτούμενη επέκταση από το Διεύθυνση ηλεκτρονικού ταχυδρομείου από τη γραμμή Επέκταση = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
- Τέλος, δηλώνουμε το τέλος της συνάρτησης.
3. Έλεγχος ορισμένων κειμένων για να δείτε αν περιέχουν ένα συγκεκριμένο κείμενο ή όχι
Μία από τις σημαντικότερες χρήσεις του Μέση λειτουργία είναι να δείτε αν ένα κείμενο περιέχει ένα συγκεκριμένο κείμενο ή όχι.
Ας αναπτύξουμε μια συνάρτηση για να ελέγξουμε αν η Διευθύνσεις ηλεκτρονικού ταχυδρομείου περιέχουν τον όρο "gmail" ή όχι.
Μπορείτε να χρησιμοποιήσετε τα εξής VBA κωδικός:
⧭ Κωδικός VBA:
Function Checking(Text1, Text2) For i = 1 To Len(Text1) If Mid(Text1, i, Len(Text2)) = Text2 Then Checking = "Yes" Exit For Else Checking = "No" End If Next i End Function
Σημείωση: Αυτός ο κώδικας δημιουργεί μια συνάρτηση που ονομάζεται Έλεγχος .
⧭ Έξοδος:
Εκτελέστε αυτή τη συνάρτηση σε οποιοδήποτε κελί του φύλλου εργασίας σας με δύο κείμενα ως όρισμα.
Εδώ, στο κύτταρο E4 , έχουμε εισάγει τον τύπο:
=Checking(D4, "gmail")
Επέστρεψε ναι επειδή η 1η διεύθυνση ηλεκτρονικού ταχυδρομείου είναι Gmail διεύθυνση.
Στη συνέχεια, μπορείτε να σύρετε το Λαβή πλήρωσης για να κάνετε το ίδιο για όλα τα Email IDs.
⧭ Επεξήγηση του κώδικα:
- Πρώτον, δηλώνουμε μια συνάρτηση που ονομάζεται Έλεγχος που δέχεται δύο κείμενα ως ορίσματα από τη γραμμή Λειτουργία Έλεγχος(Κείμενο1,Κείμενο2) .
- Στη συνέχεια ξεκινάμε έναν βρόχο for που ελέγχει κάθε τμήμα του Κείμενο1 ξεκινώντας από τη θέση 1 , για να δούμε αν είναι ίση με Κείμενο2 ή όχι, από τη γραμμή Εάν Mid(Text1, i, Len(Text2)) = Text2 Τότε .
- Αν βρει Κείμενο2 , τότε επιστρέφει "Ναι" , διαφορετικά επιστρέφει "Όχι" .
- Τέλος, ολοκληρώνουμε τη συνάρτηση με τη γραμμή Τέλος λειτουργίας .
Πράγματα που πρέπει να θυμάστε
- Το 1η επιχείρημα του Μέση λειτουργία δεν χρειάζεται να είναι πάντα μια συμβολοσειρά. string , a αριθμός , ή ακόμη και ένα boolean αξία.
- Αλλά το 2η και 3η τα επιχειρήματα πρέπει να είναι αριθμοί . Μπορούν να είναι ακέραιοι αριθμοί ή κλάσματα αλλά πρέπει να είναι αριθμοί . Αν είναι κλάσματα , τότε η Μέση λειτουργία θα τα μετατρέψει στην πλησιέστερη ακέραιοι αριθμοί .