Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε τη λειτουργία Right VBA για εξαγωγή κειμένου από τα δεξιά.
Δεξιά συνάρτηση
VBA Δεξιά λειτουργία Τελευταίοι χαρακτήρες
Η συνάρτηση VBA Right επιστρέφει τους τελευταίους χαρακτήρες n από μια συμβολοσειρά:
123456 | ΥποδεξιόExample_1 ()MsgBox Right ("ABCDEFGHI", 4) "Το αποτέλεσμα είναι:" FGHI "MsgBox Right ("ABCDEFGHI", 2) "Αποτέλεσμα είναι:" HI "MsgBox Right ("ABCDEFGHI", 1) "Αποτέλεσμα είναι:" I "MsgBox Right ("ABCDEFGHI", 100) "Το αποτέλεσμα είναι:" ABCDEFGHI "Τέλος υπο |
VBA Δεξιά συνάρτηση Τελευταία n Χαρακτήρες σε μια μεταβλητή
Όπως φαίνεται παραπάνω, μπορείτε να ορίσετε μια συμβολοσειρά απλά εισάγοντας κείμενο που περιβάλλεται από εισαγωγικά. Αλλά η ΣΩΣΤΗ συνάρτηση θα λειτουργεί επίσης με μεταβλητές συμβολοσειράς. Αυτά τα παραδείγματα θα εξαγάγουν τους τελευταίους χαρακτήρες n από μια μεταβλητή συμβολοσειράς.
123456789 | ΥποδεξιόΠαράδειγμα_2 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'Αποτέλεσμα είναι: "FGHI"MsgBox Right (StrEx, 2) 'Αποτέλεσμα είναι: "HI"MsgBox Right (StrEx, 1) 'Αποτέλεσμα είναι: "I"MsgBox Right (StrEx, 100) 'Αποτέλεσμα είναι: "ABCDEFGHI"Τέλος υπο |
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
VBA Δεξιά συνάρτηση Τελευταία n Χαρακτήρες από ένα κελί
Οι συμβολοσειρές μπορούν να οριστούν σε κώδικα VBA, αλλά μπορείτε επίσης να χρησιμοποιήσετε τιμές από κελιά. Διαβάστε την τιμή ενός κελιού, κρατήστε την σε μια μεταβλητή συμβολοσειράς και εξαγάγετε τους τελευταίους n χαρακτήρες από αυτήν την τιμή κελιού φύλλου εργασίας.
123456789101112 | Sub RightExample_3 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράς«Διαβάστε την τιμή του κελιού A1 στο φύλλο εργασίας Sheet1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value"Για αυτό το παράδειγμα, η τιμή του κελιού Α1 είναι" ABCDEFG hI "MsgBox Right (StrEx, 4) 'Αποτέλεσμα είναι: "G hI"MsgBox Right (StrEx, 2) 'Αποτέλεσμα είναι: "hI"MsgBox Right (StrEx, 1) 'Αποτέλεσμα είναι: "I"MsgBox Right (StrEx, 100) 'Αποτέλεσμα είναι: "ABCDEFG hI"Τέλος υπο |
Αποκοπή δεξιάς συνάρτησης VBA από το πρώτο γράμμα
Για να αφαιρέσετε γράμματα από την αρχή μιας συμβολοσειράς, χρησιμοποιήστε τη συνάρτηση RIGHT μαζί με τη συνάρτηση LEN.
Η συνάρτηση VBA LEN μετρά τον αριθμό των χαρακτήρων σε μια συμβολοσειρά:
1 | Len (StrEx) |
Συνδυάζοντας τις συναρτήσεις, μπορούμε να αφαιρέσουμε έναν ορισμένο αριθμό χαρακτήρων από την αρχή της συμβολοσειράς:
12345678 | Sub RightExample_4 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'Αποτέλεσμα είναι: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'Αποτέλεσμα είναι: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'Αποτέλεσμα είναι: "CDEF"Τέλος υπο |
VBA Δικαίωμα εξαγωγής κειμένου μετά το διάστημα
Για να εξαγάγετε το επώνυμο από μια συμβολοσειρά με πλήρες όνομα, χρησιμοποιήστε τη σωστή συνάρτηση μαζί με τη συνάρτηση Len και Instr.
Η συνάρτηση VBA LEN μετρά τον αριθμό των χαρακτήρων σε μια συμβολοσειρά:
1 | Len (StrEx) |
Η συνάρτηση VBA InStr ψάχνει για μια υπο -συμβολοσειρά μέσα σε μια συμβολοσειρά και επιστρέφει τον αριθμό θέσης της υπο -συμβολοσειράς.
1 | InStr (StrEx, "") |
Συνδυάζοντας τις συναρτήσεις, μπορούμε να εξαγάγουμε το τμήμα μετά το πρώτο διάστημα από μια φράση:
123456789101112131415 | Sub RightExample_5 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Το αποτέλεσμα είναι: "Skywalker"StrEx = "Λεονάρντο ντα Βίντσι"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Το αποτέλεσμα είναι: "da Vinci"StrEx = "Είθε η δύναμη να είναι μαζί σου"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Το αποτέλεσμα είναι: "η δύναμη να είναι μαζί σου"Τέλος υπο |
Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!
VBA Δικαίωμα εξαγωγής τελευταίας λέξης
Για να εξαγάγετε την τελευταία λέξη από μια συμβολοσειρά με μια φράση, χρησιμοποιήστε τη σωστή συνάρτηση μαζί με τη συνάρτηση Len και InstrRev.
Όπως είδαμε παραπάνω, η συνάρτηση VBA LEN μετρά τον αριθμό των χαρακτήρων σε μια συμβολοσειρά:
1 | Len (StrEx) |
Η συνάρτηση VBA InStrRev ψάχνει για μια υπο -συμβολοσειρά μέσα σε μια συμβολοσειρά και επιστρέφει τον αριθμό θέσης της υπο -συμβολοσειράς. Ξεκινά την αναζήτηση από το τέλος της φράσης (δεξιά προς αριστερά) αλλά επιστρέφει τη θέση από την αρχή της συμβολοσειράς (από αριστερά προς τα δεξιά).
1 | InStrRev (StrEx, "") |
Συνδυάζοντας τις συναρτήσεις, μπορούμε να εξαγάγουμε το τμήμα μετά το τελευταίο διάστημα από μια φράση:
123456789101112131415 | Sub RightExample_6 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράςStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Το αποτέλεσμα είναι: "Skywalker"StrEx = "Λεονάρντο ντα Βίντσι"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Το αποτέλεσμα είναι: "da Vinci"StrEx = "Είθε η δύναμη να είναι μαζί σου"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Το αποτέλεσμα είναι: "εσύ"Τέλος υπο |