VBA Asc | Як використовувати функцію Asc в Excel VBA? (Код символу ASCII)

Функція Excel VBA Asc

Функція Asc у VBA використовується для повернення функції цілочисельного значення, яке представляє код символу, що відповідає першому символу поданого рядка (рядок, наданий як аргумент / параметр). Він може використовуватися або надаватися в коді макросів, який зазвичай вводиться за допомогою редактора Visual Basic.

Середовище Excel, в якому макрос працює у редакторі Visual Basic (VBE), яке можна використовувати для редагування та налагодження кодів макросів. Він містить макрокод і пов'язує його з книгою Excel.

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

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

Загальний синтаксис функції ASC такий:

Синтаксис формули ASC має такий аргумент:

Рядок: обов’язковий, представляє текстовий рядок, відповідний код символу якого відповідає першому символу і який потрібно повернути.

Якщо наданий рядок має лише один символ, тоді функція, очевидно, повертає числовий код символу для цього самого символу.

Приклади Excel VBA Asc

Давайте подивимося нижче, як Asc можна використовувати в Excel VBA.

Завантажити цей шаблон VBA Asc Function Excel можна тут - Шаблон Excel VBA Asc Function

Приклад №1

Скажімо, у нас є файл Excel, що містить деякі рядки, і ми хочемо використовувати функцію Asc з цими рядками. Давайте подивимося рядки, що містяться у файлі:

Ми використовуємо функцію Asc у VBA в макросі, який можна записати в редактор Visual Basic і отримати доступ до нього наступним чином:

Перейдіть до розробника, а потім натисніть Макроси:

Тепер створіть ім'я макросу: У розділі "Назва макросу" напишіть ім'я макросу, який потрібно створити, і виберіть PERSONAL.XLSB у випадаючому списку "Macros In". Макроси можна зберігати в особистій книзі, яка є прихованою книгою, яка відкривається у фоновому режимі при кожному запуску Excel. Вибір PERSONAL.XLSB дозволить зберегти макроси у Персональній книзі, завдяки чому макрос буде завжди доступним, оскільки Персональна Книга не стосується системи / файлу.

Клацніть на "Створити".

Це відкриє вікно з підпроцедурою VBA у редакторі Visual Basic таким чином:

Тепер визначте змінну Результат

Код:

Підкод () Туманний результат 1 Кінець Під

Тепер призначте змінну Result1 з формулою для повернення символьного коду рядка:

Код:

Підкод () Невиразний результат1 Результат1 = Asc ("Raj") Кінець Під

Тепер результуюче значення Result1 може відображатися і повертатися за допомогою вікна повідомлення VBA (MsgBox) наступним чином:

Код:

Підкод () Невизначений результат1 Результат1 = Asc ("Радж") MsgBox Result1 End Sub

Тепер, коли ми запускаємо цей код вручну, натискаючи «Запустити» у верхній частині вікна або натискаючи F5, ми отримуємо код символу першої літери рядка: «Raj», що відображається у вікні повідомлення наступним чином:

Отже, на наведеному вище скріншоті ми бачимо, що при запуску макросу у вікні повідомлення повертається «82». Це означає, що код символу для 'R' становить 82.

Тепер, скажімо, у наведеному вище прикладі ми хочемо знайти код символу для рядка: “Каран”. Для цього ми виконуємо ті самі дії, що й вище.

У коді замість Радж ми напишемо Каран, щоб отримати його код символу.

Код:

 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, є порожнім / порожнім рядком (або рядком без символів), тоді функція повертає помилку під час виконання.

Наступний код пояснює те саме.

 Підпустий () Результат неясного результату = Asc ("") MsgBox (результат) Кінець Під 

Коли ми запускаємо цей код, ми отримуємо помилку часу виконання наступним чином.

Отже, на наведеному вище скріншоті ми бачимо, що коли рядок, що подається як параметр або аргумент для функції ASC, є порожнім / порожнім, тоді функція повертає помилку під час виконання.

Що слід пам’ятати

  • Рядок, наданий функції VBA ASC, може бути будь-яким дійсним виразним рядком.
  • Функція Asc чує регістр.
  • Цілочисельне значення, яке повертає функція Asc, знаходиться в діапазоні 0-255.
  • Коди ASCII у VBA для AZ складають 65-90, а для az - 97-122.
  • Ім'я, присвоєне макросу або підпроцедурі, не може бути ім'ям якоїсь функції за замовчуванням у VBA. Якщо названо так, тоді підпроцедура покаже помилку.