Μέση λειτουργία VBA - Εξαγωγή χαρακτήρων από τη μέση συμβολοσειράς

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

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

Μέση συνάρτηση

Μέση λειτουργία Λήψη χαρακτήρων

Η συνάρτηση VBA Mid επιστρέφει n χαρακτήρες από μια συμβολοσειρά ξεκινώντας από τη θέση m:

123456789 Sub MidExample_1 ()MsgBox Mid ("ABCDEFGHI", 4, 1) "Το αποτέλεσμα είναι:" D "MsgBox Mid ("ABCDEFGHI", 4, 2) "Το αποτέλεσμα είναι:" DE "MsgBox Mid ("ABCDEFGHI", 4, 50) "Το αποτέλεσμα είναι:" DEFGHI "MsgBox Mid ("ABCDEFG hI", 6, 1) "Το αποτέλεσμα είναι:" F "MsgBox Mid ("ABCDEFG hI", 6, 2) "Το αποτέλεσμα είναι:" FG "MsgBox Mid ("ABCDEFG hI", 6, 4) "Το αποτέλεσμα είναι:" FG h "Τέλος υπο

Μέση συνάρτηση Λάβετε n χαρακτήρες σε μια μεταβλητή

Όπως φαίνεται παραπάνω, μπορείτε να ορίσετε μια συμβολοσειρά απλά εισάγοντας κείμενο που περιβάλλεται από εισαγωγικά. Αλλά η συνάρτηση MID θα λειτουργήσει επίσης με μεταβλητές συμβολοσειράς. Αυτά τα παραδείγματα θα εξάγουν n χαρακτήρες από μια συμβολοσειρά ξεκινώντας από τη θέση m.

12345678 Υπο MidExample_2 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςStrEx = "ABCDEFGHI"MsgBox Mid (StrEx, 2, 1) 'Αποτέλεσμα είναι: "B"MsgBox Mid (StrEx, 2, 2) 'Αποτέλεσμα είναι: "π.Χ."MsgBox Mid (StrEx, 2, 50) 'Αποτέλεσμα είναι: "BCDEFGHI"Τέλος υπο

Μέση συνάρτηση Λάβετε χαρακτήρες από ένα κελί

Οι συμβολοσειρές μπορούν να οριστούν σε κώδικα VBA, αλλά μπορείτε επίσης να χρησιμοποιήσετε τιμές από κελιά. Διαβάστε την τιμή ενός κελιού, κρατήστε την σε μια μεταβλητή συμβολοσειράς και εξαγάγετε n χαρακτήρες από αυτήν την τιμή κελιού φύλλου εργασίας ξεκινώντας από τη θέση m.

1234567891011 Sub MidExample_3 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράς«Διαβάστε την τιμή του κελιού A1 στο φύλλο εργασίας Sheet1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value"Για αυτό το παράδειγμα, η τιμή του κελιού Α1 είναι" Είθε η δύναμη να είναι μαζί σας "MsgBox Mid (StrEx, 4, 6) 'Αποτέλεσμα είναι: "το F" (Σημειώστε το διάστημα στην αρχή)MsgBox Mid (StrEx, 2, 8) 'Αποτέλεσμα είναι: "ay the F"MsgBox Mid (StrEx, 3, 4) 'Το αποτέλεσμα είναι: "y th"Τέλος υπο

Μέση λειτουργία Αντικατάσταση n χαρακτήρων

Στα παραπάνω παραδείγματα, η συνάρτηση Mid δεν άλλαξε την αρχική συμβολοσειρά. Επέστρεψε ένα μέρος του, αφήνοντας άθικτο το αρχικό κορδόνι. Η συνάρτηση Mid μπορεί να χρησιμοποιηθεί για την αντικατάσταση χαρακτήρων σε μια συμβολοσειρά.

12345678910111213141516171819202122 Sub MidExample_4 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςSub MidExample_4 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςStrEx = "Είθε η δύναμη να είναι μαζί σου"Mid (StrEx, 5, 1) = "VWXYZ"Το αποτέλεσμα του MsgBox StrEx είναι: "Είθε ο Χορς να είναι μαζί σου"«Η μέση συνάρτηση βρήκε τη θέση 5 και αντικατέστησε 1 χαρακτήρα στην αρχική συμβολοσειράStrEx = "Είθε η δύναμη να είναι μαζί σου"Mid (StrEx, 5, 3) = "VWXYZ"Το αποτέλεσμα του MsgBox StrEx είναι: "Είθε το VWX Horce να είναι μαζί σας"Η μέση συνάρτηση βρήκε τη θέση 5 και αντικατέστησε 3 χαρακτήρες στην αρχική συμβολοσειράStrEx = "Είθε η δύναμη να είναι μαζί σου"Mid (StrEx, 5, 8) = "VWXYZ"Το αποτέλεσμα του MsgBox StrEx είναι: "Είθε το VWXYZorce να είναι μαζί σας"«Η μέση συνάρτηση βρήκε τη θέση 5 και προσπάθησε να αντικαταστήσει 8 χαρακτήρες.'"Το VWXYZ" έχει μόνο 5 χαρακτήρες, οπότε αντικαταστάθηκαν μόνο 5 χαρακτήρες.Τέλος υπο

Μέση συνάρτηση Εξαγωγή δεύτερης λέξης από μια φράση

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση VBA Mid με τη λειτουργία VBA Instr για να λάβουμε τη δεύτερη λέξη σε ένα κείμενο.

Η λειτουργία VBA InStr μπορεί να επιστρέψει τη θέση ενός χαρακτήρα μέσα στο κείμενο.

1 InStr ("Δύο λέξεις", "") "Το αποτέλεσμα είναι 4

Μπορούμε να χρησιμοποιήσουμε το InStr για να βρούμε τον πρώτο χώρο, στη συνέχεια μπορούμε να χρησιμοποιήσουμε ξανά το InStr ξεκινώντας την αναζήτηση μετά το πρώτο διάστημα για να βρούμε το δεύτερο διάστημα στο κείμενο. Τέλος, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση Mid για να εξαγάγουμε τη λέξη επειδή γνωρίζουμε την αρχική θέση της δεύτερης λέξης και το μήκος της (η διαφορά μεταξύ των δύο κενών θέσεων).

12345678910111213141516171819202122232425 Sub MidExample_5 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςDim StartPos ως ακέραιοςDim EndPos ως ακέραιοςDim SecondWord As StringStrEx = "Ο James Earl Jones είναι ηθοποιός"StartPos = InStr (StrEx, "")«Το αποτέλεσμα είναι 6«Βρείτε τη θέση του πρώτου χώρουEndPos = InStr (StartPos + 1, StrEx, "")«Το αποτέλεσμα είναι 11'Βρείτε τη θέση του δεύτερου διαστήματος ξεκινώντας την αναζήτηση μετά το πρώτο διάστημαSecondWord = Mid (StrEx, StartPos + 1, EndPos - StartPos - 1)'Mid εξάγει τους χαρακτήρες που ξεκινούν μετά το πρώτο διάστημα (StartPos +1)Το Mid χρησιμοποιεί επίσης το μήκος της δεύτερης λέξης.«Αυτή είναι η διαφορά μεταξύ των θέσεων κενών -1MsgBox SecondWord'Το αποτέλεσμα είναι κόμηςΤέλος υπο
wave wave wave wave wave