VBA Asc | Ako používať funkciu Asc v programe Excel VBA? (Kód znakov ASCII)

Funkcia Excel VBA Asc

Funkcia Asc vo VBA sa používa na vrátenie celočíselnej hodnoty, ktorá predstavuje kód znaku zodpovedajúci prvému znaku dodaného reťazca (reťazec poskytnutý ako argument / parameter) funkcii. Môže byť použitý alebo zadaný v kóde makra, ktorý sa obvykle zadáva prostredníctvom editora jazyka Visual Basic.

Prostredie programu Excel, v ktorom sa makro spúšťa v editore jazyka Visual Basic (VBE), ktoré možno použiť na úpravu a ladenie kódov makra. Zadržiava kód makra a spája ho so zošitom programu Excel.

Celočíselná hodnota vrátená funkciou Asc je zodpovedajúci kód znaku ASCII vo VBA. ASCII (Americký štandardný kód pre výmenu informácií) je 7-bitové kódovanie znakov, ktoré má v sebe definovaných celkovo 128 znakov vrátane latinských abeced, desiatich arabských číslic, niektorých interpunkčných znamienok a riadiacich znakov. Nezahŕňa diakritické znaky, pretože na kódovanie vyžadujú minimálny 8-bitový priestor. Toto 8-bitové kódovanie sa vykonáva pomocou ANSI (American National Standards Institute), ktorý má definovaných celkom 256 znakov. ANSI sa tiež nazýva rozšírený ASCII.

Syntax funkcie VBA Asc

Všeobecná syntax pre funkciu ASC je nasledovná:

Syntax vzorca ASC obsahuje nasledujúci argument:

Reťazec: Povinný údaj, predstavuje textový reťazec, ktorého zodpovedajúci kód znaku prvého znaku je požadovaný a má sa vrátiť.

Ak má dodaný reťazec iba jeden znak, potom funkcia zjavne vráti číselný kód znaku pre tento znak samotný.

Príklady Excel VBA Asc

Pozrime sa ďalej, ako je možné použiť Asc v programe Excel VBA.

Tu si môžete stiahnuť túto šablónu VBA Asc Function Excel - Šablóna VBA Asc Function Excel

Príklad č

Povedzme, že máme súbor programu Excel obsahujúci niektoré reťazce, a chceli by sme s týmito reťazcami použiť funkciu Asc. Pozrime sa na reťazce obsiahnuté v súbore:

Funkciu Asc vo VBA používame v makre, ktoré je možné zapísať do editora jazyka Visual Basic a je k nemu prístup nasledujúcim spôsobom:

Prejdite na položku Vývojár a potom kliknite na položku Makrá:

Teraz vytvorte názov makra: Do poľa „Názov makra“ napíšte názov makra, ktoré sa má vytvoriť, a v rozbaľovacej ponuke „Makrá v“ vyberte možnosť PERSONAL.XLSB. Makrá môžu byť uložené v osobnom zošite, ktorý je skrytým zošitom, ktorý sa otvára na pozadí pri každom spustení programu Excel. Výber súboru PERSONAL.XLSB by uložil makrá do Osobného zošita, čím by bolo makro vždy k dispozícii, pretože Osobný zošit nie je špecifický pre systém / súbor.

Kliknite na „Vytvoriť“.

Toto by otvorilo okno s pod procedúrou VBA v editore jazyka Visual Basic nasledovne:

Teraz definujte premennú Výsledok

Kód:

Subkód () Dim Výsledok 1 Koncový sub

Teraz priraďte premennú Result1 so vzorcom, ktorý vráti kód znaku reťazca:

Kód:

Subkód () Dim Výsledok1 Výsledok1 = Asc ("Raj") Koniec Sub

Teraz je možné výslednú hodnotu Výsledku 1 zobraziť a vrátiť pomocou schránky správ VBA (MsgBox) nasledovne:

Kód:

Subkód () Dim Výsledok1 Výsledok1 = Asc ("Raj") MsgBox Výsledok1 Koniec Sub

Teraz, keď tento kód spustíme manuálne kliknutím na tlačidlo „Spustiť“ v hornej časti okna alebo stlačením klávesu F5, dostaneme kód znaku prvého písmena reťazca: „Raj“, ktorý sa zobrazí v schránke správ nasledovne:

Na vyššie uvedenom obrázku obrazovky teda vidíme, že pri spustení makra sa hodnota „82“ vráti v poli so správou. To znamená, že kód znaku „R“ je 82.

Teraz povedzme vo vyššie uvedenom príklade, že chceme nájsť kód znaku pre reťazec: „Karan“. Postupujeme podľa rovnakých krokov ako vyššie.

Do kódu namiesto Raj napíšeme Karan, aby sme získali jeho kód znaku.

Kód:

 Substring2 () Dim Výsledok2 Výsledok2 = Asc ("Karan") MsgBox Výsledok2 Koniec Sub 

Teraz tento kód spustíme manuálne alebo stlačením klávesu F5 a dostaneme znakový kód prvého písmena reťazca: „Karan“ zobrazený v schránke správ nasledovne:

Na vyššie uvedenom obrázku obrazovky teda vidíme, že pri spustení makra sa hodnota „75“ vráti v poli so správou. To znamená, že kód znaku pre písmeno „K“ je 75.

Teraz sa pozrime, ako sa výsledok zmení pre zostávajúce reťazce:

Kód:

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

 Substring4 () Dim Výsledok2 Výsledok2 = Asc ("Arun") MsgBox Výsledok2 Koniec Sub 

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

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

Pri samostatnom spustení týchto čiastkových postupov sa do poľa správy vrátia nasledujúce kódy znakov (po jednom). Toto je zoznam zodpovedajúcich hodnôt vrátených pre vyššie uvedené reťazce.

Ako teda ilustruje vyššie uvedená snímka obrazovky, vidíme, že funkcia ASC vracia kód znaku ako 65 pre reťazec: „Arun“ a tiež pre reťazec: „A“. Je to tak preto, lebo vrátený kód znaku je VBA ASCII alebo ekvivalentný kód znaku pre prvé písmeno reťazca, ak je reťazec viac ako jeden znak. Preto sa 65 vráti pre obidva ako počiatočný alebo prvý znak reťazca: „Arun“ je tiež „A“.

Príklad č

Ak je reťazec dodávaný ako parameter / argument do funkcie VBA ASC prázdny / prázdny reťazec (alebo reťazec bez znakov), potom funkcia vráti chybu behu.

Nasledujúci kód vysvetľuje to isté.

 Sub blank () Dim výsledok result = Asc ("") MsgBox (result) End Sub 

Keď spustíme tento kód, dostaneme chybu spustenia nasledovne.

Na vyššie uvedenom obrázku obrazovky teda vidíme, že keď je reťazec dodávaný ako parameter alebo argument funkcii ASC prázdny / prázdny, potom funkcia vráti chybu chodu.

Na čo treba pamätať

  • Reťazec dodávaný do funkcie VBA ASC môže byť akýkoľvek platný reťazcový výraz.
  • Vo funkcii Asc sa rozlišujú veľké a malé písmená.
  • Celá hodnota vrátená funkciou Asc je v rozsahu 0-255.
  • Kódy ASCII vo VBA pre AZ sú 65-90 a pre az sú 97-122.
  • Názov makra alebo čiastkového postupu nemôže byť názvom niektorej predvolenej funkcie vo VBA. Ak je to tak pomenované, potom čiastkový postup zobrazí chybu.