VBA Asc | Как да използвам функцията Asc в Excel VBA? (ASCII код на символа)

Функция на Excel VBA Asc

Функцията Asc във VBA се използва за връщане на целочислена стойност, която представлява символен код, съответстващ на първия символ на предоставен низ (низ, предоставен като аргумент / параметър) на функцията. Може да се използва или дава в макрокод, който обикновено се въвежда чрез Visual Basic Editor.

Средата на Excel, в която макросът се изпълнява в редактора на Visual Basic (VBE), която може да се използва за редактиране и отстраняване на грешки на кодовете на макроси. Той съдържа макрокода и го свързва с работната книга на Excel.

Целочислената стойност, върната от функцията Asc, е съответният ASCII символен код във VBA. ASCII (Американски стандартен код за обмен на информация) е 7-битово кодиране на знаци, което съдържа общо 128 знака, включително латински азбуки, десет арабски цифри, някои препинателни знаци и контролни знаци. Той не включва диакритични знаци, тъй като те изискват минимално 8-битово пространство за кодиране. Това 8-битово кодиране се извършва с ANSI (Американски национален институт по стандартизация), който има дефинирани общо 256 знака. ANSI се нарича още разширен ASCII.

Синтаксис на VBA Asc функция

Общият синтаксис за функцията ASC е както следва:

Синтаксисът на формулата ASC има следния аргумент:

String: задължително, представлява текстовия низ, чийто съответстващ код на първия символ се желае и трябва да бъде върнат.

Ако предоставеният низ има само един символ, тогава функцията очевидно връща числовия код на самия символ.

Примери за Excel VBA Asc

Нека видим по-долу как Asc може да се използва в Excel VBA.

Можете да изтеглите този шаблон на VBA Asc Function Excel тук - VBA Asc Function Excel шаблон

Пример # 1

Да кажем, че имаме файл на Excel, съдържащ някои низове, и ние искаме да използваме функцията Asc с тези низове. Нека видим низовете, съдържащи се във файла:

Използваме функцията Asc във VBA в макрос, който може да бъде записан в редактора на Visual Basic и може да бъде достъпен по следния начин:

Отидете на Developer и след това щракнете върху Macros:

Сега създайте име на макрос: Под „Име на макрос“ напишете име на макроса, който желаете да бъде създаден, и изберете PERSONAL.XLSB в падащото меню „Macros In“. Макросите могат да се съхраняват в лична работна книга, която е скрита работна книга, която се отваря във фонов режим при всяко стартиране на Excel. Избирането на PERSONAL.XLSB би запазило макросите в Лична работна книга, като по този начин прави макроса винаги достъпен, тъй като Личната работна книга не е специфична за системата / файла.

Кликнете върху „Създаване“.

Това ще отвори прозорец с подпроцедура VBA в Visual Basic Editor, както следва:

Сега дефинирайте променливата Резултат

Код:

Подкод () Затъмнен резултат 1 Край Под

Сега присвоете променливата Result1 с формулата, за да върне кода на символа на низа:

Код:

Подкод () Dim Result1 Result1 = Asc ("Raj") Край Sub

Сега получената стойност на Result1 може да бъде показана и върната с помощта на поле за съобщения на VBA (MsgBox), както следва:

Код:

Подкод () Dim Result1 Result1 = Asc ("Raj") MsgBox Result1 End Sub

Сега, когато стартираме този код ръчно, като щракнем върху 'Run' в горната част на прозореца или като натиснем F5, получаваме кода на символа на първата буква от низа: „Raj“, показан в полето за съобщения, както следва:

И така, можем да видим на горната екранна снимка, че при стартиране на макроса „82“ се връща в поле за съобщение. Това предполага, че символният код за „R“ е 82.

Сега, нека кажем в горния пример, че искаме да намерим кода на символа за низа: “Karan”. За целта следваме същите стъпки, както по-горе.

В кода вместо Raj ще напишем Karan, за да получим кода на неговия символ.

Код:

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

Сега стартираме този код ръчно или чрез натискане на F5 и получаваме кода на символа на първата буква от низа: „Karan“, показан в полето за съобщения, както следва:

И така, можем да видим на горната екранна снимка, че при стартиране на макроса „75“ се връща в поле за съобщение. Това предполага, че символният код за „K“ е 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 празно () Резултат от неясен резултат = Asc ("") MsgBox (резултат) Край Sub 

Когато стартираме този код, получаваме грешка по време на изпълнение, както следва.

Така че, можем да видим на горната екранна снимка, че когато низът, предоставен като параметър или аргумент на функцията ASC е празен / празен, тогава функцията връща грешка при изпълнение.

Неща за запомняне

  • Низът, предоставен на функцията VBA ASC, може да бъде всеки валиден израз на низ.
  • Функцията Asc е чувствителна към малки и големи букви.
  • Целочислената стойност, върната от функцията Asc, е в диапазона 0-255.
  • Кодовете ASCII в VBA за AZ са 65-90, а за az са 97-122.
  • Името, дадено на макрос или подпроцедура, не може да бъде името на някаква функция по подразбиране във VBA. Ако е наречено така, тогава подпроцедурата ще покаже грешка.