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 (American Standard Code for Information Interchange) 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.

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é chcete vytvoriť, a v rozbaľovacej ponuke „Makrá“ vyberte 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ýberom súboru PERSONAL.XLSB by sa makra uložili do osobného zošita, čím by sa makro stalo vždy dostupným, pretože osobný zošit nie je špecifický pre systém / súbor.

Kliknite na „Vytvoriť“.

Takto by sa v editore jazyka Visual Basic otvorilo okno s podprocesom VBA:

Teraz definujte premennú Výsledok1

Kód:

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

Teraz priraďte premennú Result1 k vzorcu, 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 „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, chceme nájsť kód znaku reťazca: „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:

Sub String2 () 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 získame kód znaku 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 okna 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, a 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 daný makru alebo čiastkovému postupu nemôže byť názvom niektorej predvolenej funkcie vo VBA. Ak je to tak pomenované, potom čiastkový postup zobrazí chybu.

Zaujímavé články...