Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε τη λειτουργία InStrRev VBA για να βρείτε κείμενο από τα δεξιά…
Συνάρτηση InStrRev
Η συνάρτηση VBA InStrRev αναζητά τη θέση ενός υπο -συμβολοσειράς μέσα σε μια συμβολοσειρά. Επιστρέφει τη μέτρηση της θέσης από αριστερά προς τα δεξιά, αλλά εκτελεί την αναζήτηση από το τέλος της συμβολοσειράς στην αρχή.
VBA InStrRev Find Substring
Η συνάρτηση VBA InStrRev μπορεί να χρησιμοποιηθεί για την εύρεση της θέσης ενός υποσύγχρονου μέσα σε μια συμβολοσειρά.
12345678 | Υπο InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'Αποτέλεσμα είναι: 6MsgBox InStrRev ("ABCABC", "BC") 'Αποτέλεσμα είναι: 5MsgBox InStrRev ("La La Land", "L") 'Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "La") 'Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "La") 'Αποτέλεσμα είναι: 4MsgBox InStrRev ("La La Land", "M") 'Αποτέλεσμα είναι: 0Τέλος υπο |
Αρχική θέση VBA InStrRev
Η συνάρτηση VBA InStrRev μπορεί να ξεκινήσει την αναζήτηση για μια υπο -συμβολοσειρά από μια εκχωρημένη θέση μετρούμενη από αριστερά προς τα δεξιά.
12345678 | Υπο InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "L", 8) 'Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "L", 7) 'Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "L", 6) 'Αποτέλεσμα είναι: 4MsgBox InStrRev ("La La Land", "L", 4) 'Αποτέλεσμα είναι: 4MsgBox InStrRev ("La La Land", "L", 3) 'Αποτέλεσμα είναι: 1Τέλος υπο |
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
VBA InStrRev Case Sensitivity
Η λειτουργία VBA InStrRev από προεπιλογή είναι διάκριση πεζών -κεφαλαίων. Μπορείτε να αλλάξετε αυτήν τη συμπεριφορά σε αδιάκριτα πεζά, χρησιμοποιώντας μια προαιρετική παράμετρο. Σε αυτήν την περίπτωση, πρέπει επίσης να ορίσετε την αρχική θέση της αναζήτησης.
123456789 | Υπο InStrRevExample_3 ()'Το InstrRev από προεπιλογή έχει διάκριση πεζών -κεφαλαίωνMsgBox InStrRev ("La La Land", "L") 'Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "l") 'Αποτέλεσμα είναι: 0«Το InstrRev μπορεί να πραγματοποιήσει ανακρίβειες πεζών -κεφαλαίων αναζητήσεωνMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) "Αποτέλεσμα είναι: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) "Αποτέλεσμα είναι: 7Τέλος υπο |
VBA InStrRev Last Space
Η συνάρτηση VBA InStrRev μπορεί να βρει τη θέση του τελευταίου διαστήματος σε μια συμβολοσειρά.
123456789 | Υπο InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")Το αποτέλεσμα είναι: 6MsgBox InStrRev ("Leonardo da Vinci", "")Το αποτέλεσμα είναι: 12MsgBox InStrRev ("Είθε η δύναμη να είναι μαζί σας", "")Το αποτέλεσμα είναι: 22Τέλος υπο |
VBA InStrRev Δεύτερο έως τελευταίο διάστημα
Η συνάρτηση VBA InStrRev μπορεί να βρει τη θέση του δεύτερου έως τελευταίου διαστήματος σε μια συμβολοσειρά. Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση VBA InStrRev για να βρούμε τον τελευταίο χώρο σε μια συμβολοσειρά και, στη συνέχεια, μπορούμε να χρησιμοποιήσουμε ξανά το InStrRev με ένα νέο σημείο εκκίνησης για να βρούμε τη θέση του δεύτερου στον τελευταίο χώρο
12345678910111213 | Υπο InStrRevExample_5 ()Dim LastPos ως ακέραιοςLastPos = InStrRev ("Είθε η δύναμη να είναι μαζί σας", "")Το αποτέλεσμα του MsgBox LastPos είναι: 22Dim SecondLastPos ως ακέραιοςSecondLastPos = InStrRev ("Είθε η δύναμη να είναι μαζί σας", "", LastPos - 1)Το αποτέλεσμα του MsgBox SecondLastPos είναι: 17«Το InStrRev ξεκίνησε την αναζήτηση χώρου λίγο πριν από το τελευταίο διάστημα«Θα βρει το δεύτερο έως το τελευταίο διάστημα επειδή ψάχνει από δεξιά προς τα αριστεράΤέλος υπο |
Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!
VBA InStrRev Επιστροφή ονόματος αρχείου
Η συνάρτηση VBA InStrRev μπορεί να χρησιμοποιηθεί για να επιστρέψει εύκολα το όνομα αρχείου από μια συμβολοσειρά που περιέχει τη διαδρομή και το όνομα αρχείου. Θα χρησιμοποιήσουμε τη λειτουργία InStrRev με τις λειτουργίες VBA Len και VBA Right.
Η συνάρτηση VBA Len επιστρέφει το μήκος μιας συμβολοσειράς:
1 | Αποτέλεσμα MsgBox Len ("XBCX"): 4 |
Η συνάρτηση VBA Right επιστρέφει n χαρακτήρες από το τέλος μιας συμβολοσειράς:
1 | MsgBox Right ("ABCDE", 2) 'Αποτέλεσμα είναι: DE |
Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση InStrRev για να βρούμε την τελευταία εμφάνιση του "\" στο όνομα διαδρομής και να χρησιμοποιήσουμε τη συνάρτηση Len για να υπολογίσουμε το μήκος του ονόματος αρχείου. Στη συνέχεια, το δικαίωμα μπορεί να εξαγάγει το όνομα αρχείου.
12345678910111213141516171819202122232425262728 | Υπο InStrRevExample_4 ()Dim PathEx As StringPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim File NameEx As StringFilenameEx = Δεξιά (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Το αποτέλεσμα του MsgBox FilenameEx είναι: UsefulFile.pdf«Ας σπάσουμε αυτόν τον κώδικαMsgBox Len (PathEx)«Αυτό είναι το μήκος του ονόματος της διαδρομής (31)MsgBox InStrRev (PathEx, "\")'Αυτή είναι η θέση του τελευταίου \ στη συμβολοσειράMsgBox Len (PathEx) - InStrRev (PathEx, "\")"Αυτό είναι το μήκος του ονόματος αρχείου (14)'Η διαφορά μεταξύ του πλήρους μήκους και της θέσης του τελευταίου \ στη συμβολοσειρά»(31-27 = 14)«Τώρα γνωρίζουμε το μήκος του ονόματος αρχείου και φυσικά είναι στο τέλος«Η σωστή λειτουργία είναι ιδανική για αυτήν την κατάστασηFilenameEx = Δεξιά (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Τέλος υπο |