VBA Asc | Com s'utilitza la funció Asc a Excel VBA? (Codi de caràcters ASCII)

Funció Asc VBA d'Excel

La funció Asc a VBA s'utilitza per retornar a la funció un valor enter que representa un codi de caràcters corresponent al primer caràcter d'una cadena subministrada (cadena proporcionada com a argument / paràmetre). Es pot utilitzar o donar en un codi de macro que generalment s'introdueix mitjançant Visual Basic Editor.

L’entorn Excel en què s’executa la macro a Visual Basic Editor (VBE) que es pot utilitzar per editar i depurar els codis de macro. Conté el codi macro i l'enllaça amb el llibre de treball d'Excel.

El valor enter retornat per la funció Asc és el codi de caràcters ASCII corresponent a VBA. ASCII (American Standard Code for Information Interchange) és una codificació de caràcters de 7 bits que té un total de 128 caràcters definits, inclosos alfabets llatins, deu xifres àrabs, alguns signes de puntuació i caràcters de control. No inclou caràcters diacrítics, ja que requereixen un espai mínim de 8 bits per a la codificació. Aquesta codificació de 8 bits es fa amb ANSI (American National Standards Institute) que té un total de 256 caràcters definits. ANSI també es diu ASCII estès.

Sintaxi de la funció VBA Asc

La sintaxi general per a la funció ASC és la següent:

La sintaxi de la fórmula ASC té l'argument següent:

Cadena: Obligatori, representa la cadena de text el codi de caràcter corresponent del primer caràcter es desitja i es retornarà.

Si la cadena proporcionada només té un caràcter, la funció obviament retorna el codi de caràcters numèrics per al mateix caràcter.

Exemples d'Excel VBA Asc

Vegem a continuació com es pot utilitzar l'Asc a Excel VBA.

Podeu descarregar aquesta plantilla Excel de la funció VBA Asc aquí: plantilla Excel de la funció VBA Asc

Exemple 1

Diguem que tenim un fitxer Excel que conté algunes cadenes i volem utilitzar la funció Asc amb aquestes cadenes. Vegem les cadenes contingudes al fitxer:

Utilitzem la funció Asc a VBA en una macro que es pot escriure a Visual Basic Editor i s’hi pot accedir de la manera següent:

Aneu a Desenvolupador i feu clic a Macros:

Ara creeu un nom de macro: a "Nom de la macro" escriviu el nom de la macro que voleu crear i seleccioneu PERSONAL.XLSB al menú desplegable de "Macros a". Les macros es poden emmagatzemar en un llibre personal que és un llibre ocult que s’obre en segon pla quan s’inicia Excel. Si seleccioneu PERSONAL.XLSB, es desaran les macros al llibre personal, de manera que la macro estarà sempre disponible, ja que el llibre personal no és específic del sistema ni del fitxer.

Feu clic a "Crea".

Això obriria una finestra amb un subprocediment VBA a Visual Basic Editor de la següent manera:

Ara, definiu la variable Resultat

Codi:

Subcodi () Dim Resultat1 Final Sub

Ara assigneu la variable Result1 amb la fórmula per retornar el codi de caràcters de la cadena:

Codi:

Subcodi () Dim Resultat1 Resultat1 = Asc ("Raj") Final Sub

Ara el valor resultant de Result1 es pot mostrar i retornar mitjançant un quadre de missatge VBA (MsgBox) de la següent manera:

Codi:

Subcodi () Dim Resultat1 Resultat1 = Asc ("Raj") MsgBox Resultat1 Final Sub

Ara, quan executem aquest codi manualment, fent clic a "Executa" a la part superior de la finestra o prement F5, obtenim el codi de caràcters de la primera lletra de la cadena: "Raj" que es mostra en un quadre de missatges de la següent manera:

Per tant, podem veure a la captura de pantalla anterior que quan s’executa la macro, es torna ‘82’ en un quadre de missatges. Això implica que el codi de caràcters de "R" és 82.

Ara, diguem a l'exemple anterior que volem trobar el codi de caràcters de la cadena: "Karan". Per fer-ho, seguim els mateixos passos que els anteriors.

Al codi Raj, en canvi, escriurem Karan per obtenir el seu codi de caràcters.

Codi:

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

Ara executem aquest codi manualment o prement F5 i obtenim el codi de caràcters de la primera lletra de la cadena: "Karan" que es mostra en un quadre de missatges de la següent manera:

Per tant, podem veure a la captura de pantalla anterior que quan s’executa la macro, es torna ‘75’ en un quadre de missatges. Això implica que un codi de caràcters per a "K" és 75.

Ara vegem com canvia el resultat de les cadenes restants:

Codi:

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

 Sub String4 () Dim Resultat2 Resultat2 = Asc ("Arun") MsgBox Resultat2 Final Sub 

 Cadena secundària5 () Dim Resultat2 Resultat2 = Asc ("A") MsgBox Resultat2 Final Sub 

 Cadena secundària6 () Dim Resultat2 Resultat2 = Asc ("a") MsgBox Resultat2 Finalització Sub 

En executar aquests subprocediments un per un, es tornen els següents codis de caràcters al quadre de missatges (un per un, respectivament). Aquesta és la llista de valors corresponents retornats per a les cadenes anteriors.

Així, tal com il·lustra la captura de pantalla anterior, podem veure que la funció ASC retorna el codi de caràcters com a 65 per a la cadena: “Arun”, i també per a la cadena: “A”. Això es deu al fet que el codi de caràcters retornat és el VBA ASCII o codi de caràcter equivalent per a la primera lletra de la cadena en cas que la cadena tingui més d’un caràcter. Per tant, es retornen 65 per a tots dos com a caràcter inicial o primer de la cadena: "Arun" també és "A".

Exemple 2

Si la cadena subministrada com a paràmetre / argument a la funció VBA ASC és una cadena buida / en blanc (o una cadena sense caràcters), la funció retorna un error en temps d'execució.

El codi següent explica el mateix.

 Sub blanc () Dim resultat resultat = Asc ("") MsgBox (resultat) Final Sub 

Quan executem aquest codi, rebem l’error d’execució de la manera següent.

Per tant, podem veure a la captura de pantalla anterior que quan la cadena proporcionada com a paràmetre o argument a la funció ASC està buida / buida, la funció retorna un error en temps d'execució.

Coses que cal recordar

  • La cadena subministrada a la funció VBA ASC pot ser qualsevol expressió de cadena vàlida.
  • La funció Asc distingeix entre majúscules i minúscules.
  • El valor enter retornat per la funció Asc està en el rang de 0-255.
  • Els codis ASCII de VBA per A-Z són 65-90 i per a-z són 97-122.
  • El nom donat a una macro o subprocediment no pot ser el nom d'alguna funció predeterminada a VBA. Si s’anomena així, el subprocediment mostrarà un error.