VBA Asc | Cum se utilizează funcția Asc în Excel VBA? (Cod de caractere ASCII)

Funcția Asc VBA Excel

Funcția Asc în VBA este utilizată pentru a returna o valoare întreagă care reprezintă un cod de caractere corespunzător primului caracter al unui șir furnizat (șir furnizat ca argument / parametru) funcției. Poate fi folosit sau dat într-un cod macro care este în general introdus prin Visual Basic Editor.

Mediul Excel în care rulează macro-ul în Visual Basic Editor (VBE) care poate fi utilizat pentru a edita și depana codurile macro. Acesta deține codul macro și îl leagă de registrul de lucru Excel.

Valoarea întreagă returnată de funcția Asc este codul de caracter ASCII corespunzător din VBA. ASCII (American Standard Code for Information Interchange) este o codificare de caractere pe 7 biți care are un total de 128 de caractere definite, inclusiv alfabete latine, zece cifre arabe, câteva semne de punctuație și caractere de control. Nu include caractere diacritice, deoarece necesită un spațiu minim de 8 biți pentru codificare. Această codificare pe 8 biți se face cu ANSI (American National Standards Institute) care are un total de 256 de caractere definite. ANSI este, de asemenea, numit ASCII extins.

Sintaxa funcției VBA Asc

Sintaxa generală pentru funcția ASC este următoarea:

Sintaxa formulei ASC are următorul argument:

Șir: Obligatoriu, reprezintă șirul de text al cărui cod de caractere corespunzător primul caracter este dorit și urmează să fie returnat.

Dacă șirul furnizat are un singur caracter, atunci funcția returnează în mod evident codul numeric al caracterului respectiv.

Exemple de Excel VBA Asc

Să vedem mai jos cum poate fi utilizat Asc în Excel VBA.

Puteți descărca acest șablon Excel pentru funcția Asc VBA aici - Șablon Excel pentru funcția Asc VBA

Exemplul nr. 1

Să spunem că avem un fișier Excel care conține câteva șiruri și dorim să folosim funcția Asc cu aceste șiruri. Să vedem șirurile conținute în fișier:

Folosim funcția Asc în VBA într-o macro care poate fi scrisă în Editorul Visual Basic și care poate fi accesată după cum urmează:

Accesați Developer, apoi faceți clic pe Macros:

Acum creați un nume de macrocomandă: Sub „Nume macrocomandă” scrieți un nume al macrocomenzii care se dorește a fi creat și selectați PERSONAL.XLSB în meniul derulant „Macrocomenzi în”. Macro-urile pot fi stocate într-un registru de lucru personal care este un registru de lucru ascuns care se deschide în fundal de fiecare dată când Excel este pornit. Selectarea PERSONAL.XLSB ar salva macrocomenzile din registrul de lucru personal, făcând astfel macro-ul disponibil întotdeauna, deoarece registrul personal nu este specific sistem / fișier.

Faceți clic pe „Creați”.

Acest lucru ar deschide o fereastră cu o procedură secundară VBA în Visual Basic Editor după cum urmează:

Acum, definiți variabila Rezultat

Cod:

Cod secundar () Dim Rezultat 1 Terminare Sub

Acum atribuiți variabila Result1 cu formula pentru a returna codul de caractere al șirului:

Cod:

Sub Cod () Dim Rezultat1 Rezultat1 = Asc ("Raj") Sfârșit Sub

Acum, valoarea rezultată a rezultatului 1 poate fi afișată și returnată folosind o casetă de mesaj VBA (MsgBox) după cum urmează:

Cod:

Sub Cod () Dim Rezultat1 Rezultat1 = Asc ("Raj") MsgBox Rezultat1 Sfârșit Sub

Acum, când rulăm acest cod manual, făcând clic pe „Rulați” în partea de sus a ferestrei sau apăsând F5, obținem codul de caractere al primei litere a șirului: „Raj” afișat într-o Casetă de mesaje după cum urmează:

Deci, putem vedea în captura de ecran de mai sus că la rularea macro-ului, „82” este returnat într-o casetă de mesaje. Aceasta implică faptul că codul de caractere pentru „R” este 82.

Acum, să spunem în exemplul de mai sus că dorim să găsim codul de caractere pentru șir: „Karan”. Pentru a face acest lucru, urmăm aceiași pași ca mai sus.

În cod, în schimb Raj, vom scrie Karan pentru a obține codul său de caractere.

Cod:

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

Acum rulăm acest cod manual sau apăsând F5 și obținem codul de caractere al primei litere a șirului: „Karan” afișat într-o Casetă de mesaje după cum urmează:

Deci, putem vedea în captura de ecran de mai sus că la rularea macro-ului, „75” este returnat într-o casetă de mesaje. Aceasta implică faptul că un cod de caractere pentru „K” este de 75.

Acum să vedem cum se modifică rezultatul pentru șirurile rămase:

Cod:

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

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

 Șir secundar5 () Dim Rezultat2 Rezultat2 = Asc ("A") MsgBox Rezultat2 Sfârșit Sub 

 Șirul secundar6 () Dim Rezultatul2 Rezultatul2 = Asc ("a") MsgBox Result2 End Sub 

La executarea acestor subproceduri unul câte unul, următoarele coduri de caractere sunt returnate în caseta de mesaj (respectiv câte unul). Aceasta este lista valorilor corespunzătoare returnate pentru șirurile de mai sus.

Deci, așa cum ilustrează imaginea de mai sus, putem vedea că funcția ASC returnează codul caracterului ca 65 pentru șirul: „Arun” și, de asemenea, pentru șirul: „A”. Acest lucru se datorează faptului că codul de caractere returnat este VBA ASCII sau codul de caractere echivalent pentru prima literă a șirului în cazul în care șirul este mai mult de un caracter. Prin urmare, 65 este returnat atât pentru caracterul inițial, cât și pentru primul caracter al șirului: „Arun” este, de asemenea, „A”.

Exemplul nr. 2

Dacă șirul furnizat ca parametru / argument funcției VBA ASC este un șir gol / gol (sau un șir fără caractere), atunci funcția returnează o eroare în timpul rulării.

Codul următor explică același lucru.

 Sub blank () Dim result result = Asc ("") MsgBox (result) End Sub 

Când rulăm acest cod, primim eroarea Run-time după cum urmează.

Deci, putem vedea în captura de ecran de mai sus că atunci când șirul furnizat ca parametru sau argument funcției ASC este gol / gol, atunci funcția returnează o eroare în timp de execuție.

Lucruri de amintit

  • Șirul furnizat funcției VBA ASC poate fi orice expresie validă de șir.
  • Funcția Asc este sensibilă la majuscule și minuscule.
  • Valoarea întreagă returnată de funcția Asc este în intervalul 0-255.
  • Codurile ASCII din VBA pentru AZ sunt 65-90, iar pentru az sunt 97-122.
  • Numele dat unei macro sau sub-proceduri nu poate fi numele unei funcții implicite din VBA. Dacă este denumit astfel, sub-procedura va afișa o eroare.