Υποβιβασμός VBA - Πώς να εξαγάγετε Substring χρησιμοποιώντας λειτουργίες VBA;

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

SubString Excel VBA

Το SubString είναι ένα μέρος της συμβολοσειράς ή του τμήματος ή ο χαρακτήρας της συμβολοσειράς ονομάζεται "SubString". Υπάρχουν τρεις τύποι λειτουργιών υποστρώματος σε VBA LEFT, RIGHT και MID που είναι παρόμοιοι με τα substrings του φύλλου εργασίας στο excel.

Μια συμβολοσειρά δεν είναι τίποτα άλλο από μια σειρά χαρακτήρων και οι χαρακτήρες θα μπορούσαν να είναι αλφάβητα, αριθμοί, ειδικοί χαρακτήρες και επίσης να συνδυάζουν όλα αυτά.

Συχνά φορές σε excel, όταν δουλεύουμε με δεδομένα, που είναι η συμβολοσειρά, πρέπει να πάρουμε μόνο το τμήμα της συμβολοσειράς για να διευκολύνουμε τον σκοπό μας. Μπορεί να μην χρειαστεί να χρησιμοποιηθεί η πλήρης συμβολοσειρά, αλλά χρειαζόμαστε μόνο το μέρος της συμβολοσειράς για τη χρήση μας. Για παράδειγμα, εάν έχετε το όνομα "Sachin Tendulkar", ίσως χρειαστείτε μόνο το πρώτο μέρος του ονόματος, δηλαδή μόνο "Sachin". Αυτό ονομάζεται SubString της συμβολοσειράς στο Excel VBA. Για να αντιμετωπίσουμε αυτές τις χορδές, έχουμε ενσωματωμένες συναρτήσεις κάτω από τη συνάρτηση TEXT στην κατηγορία excel.

Σε αυτό το άρθρο, θα συζητήσουμε πώς να λάβετε το substring από την πλήρη συμβολοσειρά στο VBA.

Πώς να χρησιμοποιήσετε τις λειτουργίες SubString στο VBA;

Για να εξαγάγετε το substring από τη συμβολοσειρά, έχουμε μερικές από τις ενσωματωμένες συναρτήσεις κειμένου και μερικές από τις σημαντικές λειτουργίες είναι LEFT, RIGHT, INSTR και MID στο excel. Η συνάρτηση Instr θα χρησιμεύσει ως υποστηρικτική συνάρτηση για τις άλλες τρεις λειτουργίες.

Θα δούμε πώς να χρησιμοποιούμε αυτές τις συναρτήσεις για να εξαγάγουμε πρακτικά τα υποστρώματα. Διαβάστε τα παρακάτω παραδείγματα για να τα κατανοήσετε.

Παράδειγμα # 1 - Χρήση της Αριστεράς Λειτουργίας

Εάν έχετε το πλήρες όνομα ως "Sachin Tendulkar" και χρειάζεστε μόνο το πρώτο όνομα που θα εξαχθεί ως υπόστρωμα, χρησιμοποιήστε τον παρακάτω κωδικό για να πάρετε το ίδιο.

Βήμα 1: Δημιουργήστε ένα όνομα μακροεντολής και ορίστε δύο μεταβλητές ως συμβολοσειρά.

Κώδικας:

Sub Subtrack_Example1 () Dim FullName As String Dim FirstName As String End Sub

Βήμα 2: Τώρα ορίστε το όνομα "Sachin Tendulkar" στη μεταβλητή FullName .

Κώδικας:

Sub Subtrack_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" End Sub

Βήμα 3: Τώρα, η μεταβλητή FullName διατηρεί την τιμή του "Sachin Tendulkar". Τώρα πρέπει να εξαγάγουμε το υπόστρωμα VBA excel του πρώτου ονόματος από το πλήρες όνομα. Έτσι, εκχωρήστε την τιμή για τη μεταβλητή FirstName μέσω της συνάρτησης LEFT.

Κώδικας:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (End Sub

Βήμα 4: Το πρώτο όρισμα της συνάρτησης VBA LEFT είναι String. αυτή είναι η πλήρης τιμή ή η πλήρης συμβολοσειρά. Σε αυτό το παράδειγμα, η πλήρης τιμή ή η συμβολοσειρά μας είναι "Sachin Tendulkar", η οποία αντιστοιχεί στη μεταβλητή FullName.

Επομένως, παρέχετε τη μεταβλητή FullName ως όρισμα.

Κώδικας:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Αριστερό τέλος Sub

Βήμα 5: Το επόμενο επιχείρημα είναι πόσους χαρακτήρες χρειαζόμαστε από τη συμβολοσειρά που έχουμε παράσχει, οπότε σε αυτήν την περίπτωση, χρειαζόμαστε το όνομα " Sachin " τόσο συνολικά, χρειαζόμαστε 6 χαρακτήρες από την αριστερή πλευρά.

Κώδικας:

Sub Subtrack_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub

Βήμα 6: Τώρα δείξτε το αποτέλεσμα σε ένα πλαίσιο μηνυμάτων στο VBA.

Κώδικας:

Sub Subtrack_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) MsgBox FirstName End Sub

Βήμα 7: Εκτελέστε τη μακροεντολή, δείτε το όνομα ως υπόστρωμα στο πλαίσιο μηνύματος.

Παράδειγμα # 2 - Λήψη SubString από τα δεξιά

Όπως και πώς έχουμε εξαγάγει το υπόστρωμα από τα αριστερά ομοίως, μπορούμε επίσης να το εξαγάγουμε από τα δεξιά. Πάρτε το ίδιο όνομα με ένα παράδειγμα.

Βήμα 1: Ορίστε δύο μεταβλητές ως συμβολοσειρά.

Κώδικας:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String End Sub

Step 2: As usual, assign the value to the variable FullName as “Sachin Tendulkar.”

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" End Sub

Step 3: Now, for the variable LastName, assign the value through the RIGHT excel function.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right( End Sub

Step 4: String is our FullName, so supply the variable.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right(FullName, End Sub

Step 5: Length is how many characters we need from the right side. We need 9 characters on the right side.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right(FullName, 9) End Sub

Step 6: Show this value in the message box.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right(FullName, 9) MsgBox LastName End Sub

Step 7: Run the macro. We will see the last name in the message box.

Example #3 - Using Instr Function

In the above examples, we had only one name, and we have directly supplied how many characters we need from the left & right. But in the case of many names, first name & last name characters are not the same, it will differ from name to name. In those cases, we cannot supply the number of characters directly so we can use the function Instr.

Instr function will return the supplied character position in the string. For example, look at the below code.

Code:

Sub SubString_Example3() Dim Position As String Position = InStr(1, "Sachin", "a") MsgBox Position End Sub

InStr(1, “Sachin,” “a”), this will identify the position of the letter “a” as the first appearance in the string “Sachin.” In this case letter, “a” is in the second position. So we will get 2 as a result in the message box.

Like this, we can use the Instr function to find the space character between the first name and last name.

For example, look at the below name I have in the excel sheet.

Using LEFT, RIGHT, and Instr function, we can extract the substrings. Below is the code to extract the First Name.

Code:

Sub FirstName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1). End (xIUp). Row For K = 2 to LR Cells (K, 2). Value = Left (Κελιά (K, 1). Value, InStr (1, Cells (K, 1). Value, "") - 1) Next K End Sub

Εκτελέστε τη μακροεντολή και δείτε το όνομα ως δευτερεύουσα συμβολοσειρά στο πλαίσιο μηνύματος.

Χρησιμοποιήστε τον παρακάτω κωδικό για να εξαγάγετε το επώνυμο ως substring.

Κώδικας:

Sub LastName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1). End (xIUp). Row For K = 2 to LR Cells (K, 3). Value = Right (Κελιά (K, 1). Value, Len (Cells (K, 1)) - InStr (1, Cells (K, 1). Value, "")) Next Next End End

Εκτελέστε τη μακροεντολή και θα εμφανιστεί το επώνυμο στο πλαίσιο μηνύματος.

Έχω εκχωρήσει το κουμπί μακροεντολής στο φύλλο εργασίας, κατεβάζω το βιβλίο εργασίας και τα χρησιμοποιώ.

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