VBA Asc | Πώς να χρησιμοποιήσετε τη λειτουργία Asc στο Excel VBA; (Κωδικός χαρακτήρων ASCII)

Λειτουργία Excel VBA Asc

Η συνάρτηση Asc στο VBA χρησιμοποιείται για να επιστρέψει μια ακέραια τιμή που αντιπροσωπεύει έναν κωδικό χαρακτήρα που αντιστοιχεί στον πρώτο χαρακτήρα μιας παρεχόμενης συμβολοσειράς (συμβολοσειρά που παρέχεται ως όρισμα / παράμετρος) στη συνάρτηση. Μπορεί να χρησιμοποιηθεί ή να δοθεί σε κώδικα μακροεντολών που γενικά εισάγεται μέσω του Visual Basic Editor.

Το περιβάλλον του Excel στο οποίο εκτελείται η μακροεντολή στον Επεξεργαστή Visual Basic (VBE) που μπορεί να χρησιμοποιηθεί για την επεξεργασία και τον εντοπισμό σφαλμάτων των κωδικών μακροεντολών. Διατηρεί τον κώδικα μακροεντολής και τον συνδέει στο βιβλίο εργασίας του Excel.

Η ακέραια τιμή που επιστρέφεται από τη συνάρτηση Asc είναι ο αντίστοιχος κωδικός χαρακτήρων ASCII στο VBA. Το ASCII (American Standard Code for Information Interchange) είναι μια κωδικοποίηση χαρακτήρων 7-bit που έχει συνολικά 128 χαρακτήρες που ορίζονται σε αυτό, συμπεριλαμβανομένων λατινικών αλφαβήτων, δέκα αραβικών αριθμών, ορισμένων σημείων στίξης και χαρακτήρων ελέγχου. Δεν περιλαμβάνει διακριτικούς χαρακτήρες καθώς απαιτούν ελάχιστο χώρο 8-bit για κωδικοποίηση. Αυτή η κωδικοποίηση 8-bit γίνεται με ANSI (American National Standards Institute) που έχει συνολικά 256 χαρακτήρες. Το ANSI ονομάζεται επίσης εκτεταμένο ASCII.

Σύνταξη της λειτουργίας VBA Asc

Η γενική σύνταξη για τη λειτουργία ASC έχει ως εξής:

Η σύνταξη τύπου ASC έχει το ακόλουθο όρισμα:

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

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

Παραδείγματα του Excel VBA Asc

Ας δούμε παρακάτω πώς μπορεί να χρησιμοποιηθεί το Asc στο Excel VBA.

Μπορείτε να κατεβάσετε αυτό το Πρότυπο VBA Asc Function Excel εδώ - Πρότυπο VBA Asc Function Excel

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

Ας πούμε ότι έχουμε ένα αρχείο Excel που περιέχει μερικές συμβολοσειρές και θέλουμε να χρησιμοποιήσουμε τη συνάρτηση Asc με αυτές τις συμβολοσειρές. Ας δούμε τις συμβολοσειρές που περιέχονται στο αρχείο:

Χρησιμοποιούμε τη συνάρτηση Asc στο VBA σε μια μακροεντολή που μπορεί να γραφτεί στον Επεξεργαστή της Visual Basic και να έχει πρόσβαση ως εξής:

Μεταβείτε στο Developer και, στη συνέχεια, κάντε κλικ στο Macros:

Τώρα δημιουργήστε ένα όνομα μακροεντολής: Στην περιοχή "Όνομα μακροεντολής", γράψτε ένα όνομα της μακροεντολής που θέλετε να δημιουργηθεί και επιλέξτε ΠΡΟΣΩΠΙΚΟ.XLSB στο αναπτυσσόμενο μενού "Μακροεντολές". Οι μακροεντολές μπορούν να αποθηκευτούν σε ένα προσωπικό βιβλίο εργασίας που είναι ένα κρυφό βιβλίο εργασίας που ανοίγει στο παρασκήνιο κάθε φορά που ξεκινά το Excel. Επιλέγοντας το PERSONAL.XLSB θα αποθηκεύσετε τις μακροεντολές στο Προσωπικό βιβλίο εργασίας, κάνοντας έτσι τη μακροεντολή πάντα διαθέσιμη, καθώς το Προσωπικό Βιβλίο Εργασίας δεν είναι συγκεκριμένο για το σύστημα / το αρχείο.

Κάντε κλικ στο «Δημιουργία».

Αυτό θα ανοίξει ένα παράθυρο με μια δευτερεύουσα διαδικασία VBA στο Visual Basic Editor ως εξής:

Τώρα, ορίστε τη μεταβλητή Αποτέλεσμα

Κώδικας:

Υποκωδικός () Dim Αποτέλεσμα1 End Sub

Τώρα αντιστοιχίστε τη μεταβλητή Result1 με τον τύπο για να επιστρέψετε τον κωδικό χαρακτήρα της συμβολοσειράς:

Κώδικας:

Υποκωδικός () Dim Result1 Result1 = Asc ("Raj") End Sub

Τώρα η προκύπτουσα τιμή του Result1 μπορεί να εμφανιστεί και να επιστραφεί χρησιμοποιώντας ένα πλαίσιο μηνυμάτων VBA (MsgBox) ως εξής:

Κώδικας:

Υποκωδικός () Dim Result1 Result1 = Asc ("Raj") MsgBox Result1 End Sub

Τώρα όταν εκτελούμε αυτόν τον κώδικα χειροκίνητα κάνοντας κλικ στο «Εκτέλεση» στο πάνω μέρος του παραθύρου ή πατώντας F5, λαμβάνουμε τον κωδικό χαρακτήρα του πρώτου γράμματος της συμβολοσειράς: «Raj» εμφανίζεται σε ένα πλαίσιο μηνυμάτων ως εξής:

Έτσι, μπορούμε να δούμε στο παραπάνω στιγμιότυπο οθόνης ότι κατά την εκτέλεση της μακροεντολής, το "82" επιστρέφεται σε ένα πλαίσιο μηνυμάτων. Αυτό σημαίνει ότι ο κωδικός χαρακτήρων για το «R» είναι 82.

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

Στον κώδικα αντί για Raj θα γράψουμε το Karan για να πάρουμε τον κωδικό χαρακτήρα του.

Κώδικας:

 Sub String2 () Dim Result2 Result2 = Asc ("Karan") MsgBox Result2 End Sub 

Τώρα τρέχουμε αυτόν τον κωδικό χειροκίνητα ή πατώντας F5 και λαμβάνουμε τον κωδικό χαρακτήρα του πρώτου γράμματος της συμβολοσειράς: "Karan" εμφανίζεται σε ένα πλαίσιο μηνυμάτων ως εξής:

Έτσι, μπορούμε να δούμε στο παραπάνω στιγμιότυπο οθόνης ότι κατά την εκτέλεση της μακροεντολής, το "75" επιστρέφεται σε ένα πλαίσιο μηνυμάτων. Αυτό σημαίνει ότι ένας κωδικός χαρακτήρων για το «Κ» είναι 75.

Τώρα ας δούμε πώς αλλάζει το αποτέλεσμα για τις υπόλοιπες συμβολοσειρές:

Κώδικας:

 Sub String3 () Dim Result2 Result2 = Asc ("Heena") MsgBox Result2 End Sub 

 Sub String4 () Dim Result2 Result2 = Asc ("Arun") MsgBox Result2 End Sub 

 Sub String5 () Dim Result2 Result2 = Asc ("A") MsgBox Result2 End Sub 

 Sub String6 () Dim Result2 Result2 = Asc ("a") MsgBox Result2 End Sub 

Κατά την εκτέλεση αυτής της υπο-διαδικασίας ένα προς ένα, οι ακόλουθοι κωδικοί χαρακτήρων επιστρέφονται στο πλαίσιο μηνυμάτων (ένας κάθε φορά αντίστοιχα). Αυτή είναι η λίστα των αντίστοιχων τιμών που επιστρέφονται για τις παραπάνω συμβολοσειρές.

Έτσι, όπως δείχνει το παραπάνω στιγμιότυπο οθόνης, μπορούμε να δούμε ότι η συνάρτηση ASC επιστρέφει τον κωδικό χαρακτήρα ως 65 για τη συμβολοσειρά: "Arun" και επίσης για τη συμβολοσειρά: "A". Αυτό συμβαίνει επειδή ο κωδικός χαρακτήρων που επιστρέφεται είναι ο VBA ASCII ή ισοδύναμος κωδικός χαρακτήρων για το πρώτο γράμμα της συμβολοσειράς σε περίπτωση που η συμβολοσειρά είναι περισσότεροι από ένας χαρακτήρες. Ως εκ τούτου, το 65 επιστρέφεται τόσο για τον αρχικό όσο και για τον πρώτο χαρακτήρα της συμβολοσειράς: Το «Arun» είναι επίσης «A».

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

Εάν η συμβολοσειρά που παρέχεται ως παράμετρος / όρισμα στη συνάρτηση VBA ASC είναι μια κενή / κενή συμβολοσειρά (ή μια συμβολοσειρά χωρίς χαρακτήρες), τότε η συνάρτηση επιστρέφει σφάλμα χρόνου εκτέλεσης.

Ο κώδικας που ακολουθεί εξηγεί το ίδιο.

 Sub blank () Dim αποτέλεσμα αποτελέσματος = Asc ("") MsgBox (αποτέλεσμα) End Sub 

Όταν εκτελούμε αυτόν τον κώδικα, λαμβάνουμε το σφάλμα χρόνου εκτέλεσης ως εξής.

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

Πράγματα που πρέπει να θυμάστε

  • Η συμβολοσειρά που παρέχεται στη συνάρτηση VBA ASC μπορεί να είναι οποιαδήποτε έγκυρη παράσταση συμβολοσειράς.
  • Η συνάρτηση Asc είναι διάκριση πεζών-κεφαλαίων.
  • Η ακέραια τιμή που επιστρέφεται από τη συνάρτηση Asc κυμαίνεται από 0-255.
  • Οι κωδικοί ASCII στο VBA για AZ είναι 65-90 και για το az είναι 97-122.
  • Το όνομα που δίνεται σε μια μακροεντολή ή υπο-διαδικασία δεν μπορεί να είναι το όνομα μιας προεπιλεγμένης συνάρτησης στο VBA. Εάν το ονομάσετε έτσι, τότε η υπο-διαδικασία θα εμφανίσει ένα σφάλμα.