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

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

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

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

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

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

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

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

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

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

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

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

Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA Right Function Excel - Πρότυπο VBA Right Function 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» είναι η 2η θέση.

Εάν αλλάξω τη θέση εκκίνησης από 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 RIGHT με πολλά κελιά, πρέπει να το συμπεριλάβουμε στους βρόχους. Για παράδειγμα, δείτε την παρακάτω εικόνα.

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

Κώδικας:

 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 

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