Σωστή λειτουργία VBA (Παραδείγματα) - Οδηγός βήμα προς βήμα για το Excel VBA δεξιά

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

Σωστή λειτουργία στο VBA Excel

Η σωστή συνάρτηση είναι ίδια όπως και στη λειτουργία φύλλου εργασίας και στο VBA, η χρήση αυτής της συνάρτησης είναι ότι μας δίνει το υπόστρωμα από μια δεδομένη συμβολοσειρά, αλλά η αναζήτηση γίνεται από δεξιά προς τα αριστερά της συμβολοσειράς, αυτός είναι ένας τύπος συνάρτησης συμβολοσειράς στο VBA χρησιμοποιείται με τη μέθοδο λειτουργίας application.worksheet.

Η ΔΕΞΙΑ Λειτουργία στο Excel VBA χρησιμοποιείται για την εξαγωγή χαρακτήρων από τη δεξιά πλευρά των παρεχόμενων τιμών κειμένου. Στο Excel, έχουμε πολλές λειτουργίες κειμένου για την αντιμετώπιση δεδομένων βάσει κειμένου. Μερικές από τις χρήσιμες λειτουργίες είναι η λειτουργία LEN, LEFT, RIGHT, MID για εξαγωγή χαρακτήρων από τις τιμές κειμένου. Το κοινό παράδειγμα χρήσης αυτών των συναρτήσεων είναι η εξαγωγή του ονόματος και του επωνύμου ξεχωριστά από το πλήρες όνομα.

Ο τύπος ΔΕΞΙΑ υπάρχει επίσης στο φύλλο εργασίας. Στο VBA, πρέπει να βασιστούμε στην κλάση λειτουργίας φύλλου εργασίας για πρόσβαση στη συνάρτηση VBA RIGHT. μάλλον, έχουμε και την ενσωματωμένη ΔΕΞΙΑ λειτουργία στο VBA.

Τώρα ρίξτε μια ματιά στην παρακάτω σύνταξη του τύπου VBA RIGHT.

  • String: Αυτή είναι η αξία μας και από αυτήν την τιμή προσπαθούμε να εξαγάγουμε τους χαρακτήρες από τη δεξιά πλευρά της συμβολοσειράς.
  • Μήκος: Από την παρεχόμενη συμβολοσειρά, πόσους χαρακτήρες χρειαζόμαστε. Εάν χρειαζόμαστε τέσσερις χαρακτήρες από τη δεξιά πλευρά, μπορούμε να παρέχουμε το όρισμα ως 4.

Για παράδειγμα, εάν η συμβολοσειρά είναι "Κινητό τηλέφωνο" και αν θέλουμε να εξαγάγουμε μόνο τη λέξη "Τηλέφωνο", μπορούμε να παρέχουμε το επιχείρημα όπως το παρακάτω.

ΔΕΞΙΑ ("Κινητό τηλέφωνο" 5)

Ο λόγος για τον οποίο ανέφερα το 5 επειδή η λέξη «Τηλέφωνο» έχει 5 γράμματα σε αυτό. Στην επόμενη ενότητα του άρθρου, θα δούμε πώς μπορούμε να το χρησιμοποιήσουμε στο VBA.

Παραδείγματα σωστής λειτουργίας Excel VBA

Ακολουθούν τα παραδείγματα του Right Function VBA Excel.

Παράδειγμα # 1

Θα σας δείξω ένα απλό παράδειγμα για να ξεκινήσετε τη διαδικασία. Ας υποθέσουμε ότι έχετε τη συμβολοσειρά "Νέα Υόρκη" και εάν θέλετε να εξαγάγετε 3 χαρακτήρες από τα δεξιά, ακολουθήστε τα παρακάτω βήματα για να γράψετε τον κώδικα.

Βήμα 1: Δηλώστε τη μεταβλητή ως συμβολοσειρά VBA.

Κώδικας:

Sub Right_Example1 () Dim k As String End Sub

Βήμα 2: Τώρα, για αυτήν τη μεταβλητή, θα αντιστοιχίσουμε την τιμή εφαρμόζοντας τη συνάρτηση RIGHT.

Κώδικας:

Sub Right_Example1 () Dim k As String k = Δεξιά (End Sub

Βήμα 3: Το πρώτο επιχείρημα είναι το String και η συμβολοσειρά μας για αυτό το παράδειγμα είναι "New York".

Κώδικας:

Sub Right_Example1 () Dim k As String k = Right ("Νέα Υόρκη", End Sub

Βήμα 4: Στη συνέχεια, πόσους χαρακτήρες χρειαζόμαστε από την παρεχόμενη συμβολοσειρά. Σε αυτό το παράδειγμα, χρειαζόμαστε 3 χαρακτήρες.

Κώδικας:

Sub Right_Example1 () Dim k As String k = Right ("New York", 3) End Sub

Βήμα 5: Έχουμε 2 επιχειρήματα για να αντιμετωπίσουμε, οπότε τελειώσαμε. Τώρα εκχωρήστε την τιμή αυτής της μεταβλητής στο πλαίσιο μηνυμάτων στο VBA.

Κώδικας:

Sub Right_Example1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub

Εκτελέστε τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα και δείτε το αποτέλεσμα σε ένα πλαίσιο μηνύματος.

Στη λέξη "Νέα Υόρκη" από τη δεξιά πλευρά, 3 χαρακτήρες είναι "ork".

Τώρα θα αλλάξω το μήκος από 3 σε 4 για να λάβω την πλήρη τιμή.

Κώδικας:

Sub Right_Example1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub

Εκτελέστε αυτόν τον κωδικό χειροκίνητα ή χρησιμοποιώντας το πλήκτρο F5. Στη συνέχεια, θα πάρουμε το "York".

Παράδειγμα # 2

Τώρα ρίξτε μια ματιά σε ένα ακόμη παράδειγμα, αυτή τη φορά θεωρήστε την τιμή συμβολοσειράς ως "Michael Clarke".

Εάν δώσετε το μήκος ως 6, θα λάβουμε το "Clarke" ως αποτέλεσμα.

Κώδικας:

Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub

Εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή μη αυτόματα για να δείτε το αποτέλεσμα.

Δυναμική σωστή λειτουργία στο Excel VBA

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

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

Η συνάρτηση Instr επιστρέφει την παρεχόμενη θέση χαρακτήρα στην παρεχόμενη τιμή συμβολοσειράς. Για παράδειγμα, το Instr (1, "Bangalore," a ") επιστρέφει τη θέση του γράμματος" a "στη συμβολοσειρά " Bangalore " από τον πρώτο (1) χαρακτήρα.

Σε αυτήν την περίπτωση, το αποτέλεσμα είναι 2 επειδή από τη θέση του πρώτου χαρακτήρα του γράμματος «a» είναι η θέση.

Εάν αλλάξω τη θέση εκκίνησης από 1 σε 3, θα επιστρέψει 5.

Instr (3, "Bangalore," a ") .

Ο λόγος για τον οποίο επιστρέφει 5 επειδή ανέφερα την αρχική θέση για να αναζητήσω το γράμμα «a» μόνο από το 3ο γράμμα. Έτσι, η θέση του δεύτερου εμφανίστηκε «α» είναι 5.

Έτσι, για να βρούμε το διαστημικό χαρακτήρα κάθε συμβολοσειράς, μπορούμε να το χρησιμοποιήσουμε. Μόλις βρούμε τη θέση του χαρακτήρα διαστήματος, πρέπει να το μείνουμε από το συνολικό μήκος της συμβολοσειράς χρησιμοποιώντας το LEN.

Για παράδειγμα, στη συμβολοσειρά "Νέα Υόρκη", ο συνολικός αριθμός χαρακτήρων είναι 8, συμπεριλαμβανομένου του διαστήματος και η θέση του διαστημικού χαρακτήρα είναι 4 η . Έτσι 8-4 = 4 δεξιά θα εξαγάγει 4 χαρακτήρες από τα δεξιά.

Τώρα, ανατρέξτε στον παρακάτω κώδικα για την αναφορά σας.

Κώδικας:

Sub Right_Example3 () Dim k As String Dim L As String Dim S As String L = Len ("Michael Clarke") S = InStr (1, "Michael Clarke", "") k = Δεξιά ("Michael Clarke", L - S) MsgBox k End Sub

Στην παραπάνω μεταβλητή κώδικα, το "L" θα επιστρέψει 14 και η μεταβλητή "S" θα επιστρέψει 8.

Στον σωστό τύπο VBA, έχω εφαρμόσει L - S, δηλαδή, 14-8 = 6. Έτσι από τη δεξιά πλευρά 6 χαρακτήρες, δηλαδή, "Clarke".

Βρόχοι με σωστή λειτουργία στο Excel VBA

Όταν πρέπει να εφαρμόσουμε τη σωστή λειτουργία VBA σε πολλά κελιά, πρέπει να το συμπεριλάβουμε μέσα στους βρόχους. Για παράδειγμα, δείτε την παρακάτω εικόνα.

Δεν μπορούμε να εφαρμόσουμε πολλές γραμμές του κώδικα για να εξαγάγουμε μια συμβολοσειρά από τη δεξιά πλευρά. Πρέπει λοιπόν να συμπεριλάβουμε βρόχους. Ο παρακάτω κώδικας θα το κάνει για τα παραπάνω δεδομένα.

Κώδικας:

Sub Right_Example4 () Dim k As String Dim L As String Dim S As String Dim a As Integer for a = 2 to 5 L = Len (Cells (a, 1). Value) S = InStr (1, Cells (a, 1) ). Value, "") Cells (a, 2). Value = Right (Cells (a, 1), L - S) Next a End Sub

Το αποτέλεσμα αυτού του κώδικα έχει ως εξής.

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