Вступ до помилки переповнення VBA

У випадку помилки під час роботи з VBA ми стикаємося з багатьма типами. Помилки називаються помилками виконання, коли вони виявили помилку під час виконання коду. Також кожен код має певний код, призначений йому в програмуванні VBA. Окрім такої помилки, помилка переповнення VBA. Кодом цієї помилки є помилка 6 часу запуску, що означає переповнення в програмуванні VBA. Про цю помилку ми дізнаємось у цій статті.

Тепер ми знаємо, що ця помилка переповнення - це тип помилки, тепер давайте зрозуміємо, що ця помилка означає. Якщо ми оголосимо будь-яку змінну як певний тип даних і значення змінної перевищує ліміт типу даних змінної, ми отримаємо помилку для переповнення. Наприклад, якщо ми визначимо змінну як ціле число і знаємо, що ціле число може містити значення до 32767 для додатних чисел і -32768 для від’ємних чисел. Отже, якщо ми надаємо будь-який вхід за межі цього діапазону, ми зустрінемося з помилкою переповнення в VBA.

Помилка переповнення в умовах непростого означає, що ми перевантажуємо тип даних значеннями, які він може містити. Такі випадки зіткнуться з нами з цією помилкою. Отже, щоб уникнути цієї помилки, нам потрібно знати, який тип даних ми використовуємо, щоб ми могли її запобігти.

Через різні приклади ми побачимо, як у різних типах даних ми можемо зіткнутися з цією помилкою.

Як використовувати помилку переповнення VBA в Excel?

Ми дізнаємось, як використовувати функцію помилки переповнення VBA з кількома прикладами в excel.

Ви можете завантажити шаблон VBA OverFlow Error Excel тут - шаблон VBA OverFlow Error Excel

Приклад №1 - Помилка переповнення

Для першого прикладу скористаємося типом даних Integer. Спробуємо переповнити значення, щоб змінні не змогли його зберегти, і побачити помилку, з якою ми стикаємося.

Для використання функції помилки переповнення VBA в Excel виконайте наведені нижче дії:

Крок 1: Щоб почати з VBA, перше, що нам потрібно зробити, це ввімкнути вкладку нашого розробника, а потім натиснути на неї, щоб відкрити редактор VB від параметра Visual Basic, як показано на знімку нижче,

Крок 2: Клацніть на ньому і вставляємо модуль так, як тільки ми натискаємо на модуль. Двічі клацніть на ньому, і це відкриє ще одне вікно для нас, де ми напишемо наш код.

Крок 3. Ми побачимо порожнє вікно праворуч від нас, оголосимо про підфункцію, і ось так ми запустимо макрос так,

Код:

 Sub Sample () Кінець Sub 

Крок 4: Оголосіть змінну цілим числом, щоб вона могла містити ціле значення для нас,

Код:

 Sub Sample () Dim A As Integer End Sub 

Крок 5: Тепер у Variable A зберігайте таке значення, яке переповнить тип даних наступним чином,

Код:

 Підпроба () Dim A як ціле число A = 4896 * 5000 Кінець Sub 

Крок 6: Тепер відобразимо значення A за допомогою функції msgbox,

Код:

 Sub Sample () Dim A As Integer A = 4896 * 5000 MsgBox A End Sub 

Крок 7: Запустіть наведений вище код і подивіться, який результат ми отримаємо,

Ми отримали цю помилку, оскільки 4896 * 5000 перевищує обмеження додатного числа для цілого типу даних, який має містити, а змінна A переповнюється цим значенням, тому ми стикаємося з цією помилкою.

Приклад №2 - Помилка переповнення

Тепер у цьому прикладі наведемо тип даних BYTE. Ми знаємо, що тип даних байтів може містити значення від 0 до 255, але будь-які значення, крім цього діапазону, дадуть нам помилку. Давайте дізнаємось.

Крок 1: У нас уже вставлений наш модуль, ми можемо працювати над тим самим або створити новий. Але давайте працювати над тим же модулем, який ми вставили. Двічі клацніть на модулі, щоб знову увійти у вікно коду,

Крок 2: Оголосіть іншу підфункцію наступним чином,

Код:

 Sub Sample1 () Кінець Sub 

Крок 3: Оголосіть змінну типу типу BYTE наступним чином,

Код:

 Sub Sample1 () Dim A As Byte End Sub 

Крок 4: Тепер у крамниці значення змінної A вище 255,

Код:

 Sub Sample1 () Dim A As Byte A = 266 Кінець Sub 

Крок 5: Використовуйте функцію msgbox для відображення значення A,

Код:

 Sub Sample1 () Dim A As Byte A = 266 MsgBox A End Sub 

Крок 6: Запустимо вищевказаний код, натиснувши F5 і побачимо результат,

Крок 7: Давайте спробуємо змінити значення A на 244 і повторно застосувати код, щоб побачити результат,

Код:

 Sub Sample1 () Dim A As Byte A = 244 MsgBox A End Sub 

Крок 8: Коли ми знову запустимо код, ми побачимо наступний результат,

Коли ми вперше запускаємо змінну коду A має значення більше діапазону, який може містити тип даних BYTE, але у другому випадку, змінна A має дані у своєму діапазоні типів даних, тому ми не стикалися з помилкою переповнення.

Приклад №3 - Помилка переповнення

Тепер давайте використаємо тип даних LONG як приклад, оскільки це найпоширеніший тип даних серед програмістів.

Крок 1: Ми знову працюватимемо в тому ж модулі, який ми вставили раніше. Нам просто потрібно двічі клацнути модуль і ми в ньому.

Крок 2: Оголосіть підфункцію, як показано на скріншоті.

Код:

 Sub Sample2 () Кінець Sub 

Крок 3: Оголосіть змінну як тип даних LONG наступним чином.

Код:

 Sub Sample2 () Dim A As Long End Sub 

Крок 4: Тепер, подібні до наведених вище прикладів, давайте переповнимо цю змінну, зробивши її утримуючими значеннями вище свого діапазону наступним чином.

Код:

 Sub Sample2 () Dim A As Long A = 2000 * 365 Кінець Sub 

Крок 5: Використовуйте функцію msgbox, щоб відобразити значення A наступним чином.

Код:

 Sub Sample2 () Dim A As Long A = 2000 * 365 MsgBox A End Sub 

Крок 6: Клацніть на наведеній вище кнопці Run і побачите, що ми стикаємося з помилкою переповнення.

Крок 7: Тепер існує метод подолання цієї помилки у довгому типі даних за допомогою функції CLNG наступним чином.

Код:

 Sub Sample2 () Dim A As Long A = CLng (2000) * 365 MsgBox A End Sub 

Крок 8: Тепер, якщо ми знову запустимо код, ми побачимо наступний результат.

Тепер, що виконувала функція CLNG? Це перетворило значення у довге ціле число, яке може містити змінна.

Як подолати помилку переповнення в VBA

Коли ми стикаємося з помилкою переповнення в VBA, що означає будь-яку з наших змінних, не більше має деякі значення, які вона не може утримувати. Нам потрібно визначити змінну і виправити її. Крім того, у нас є функція CLNG для довгих типів даних, щоб допомогти нам. Але знання нашого типу даних насправді допомагає.

Що потрібно пам’ятати

Є деякі речі, які нам слід пам’ятати про помилку переповнення в VBA:

  • Помилка переповнення - помилка часу виконання.
  • Код помилки для помилки переповнення - 6.
  • Щоб подолати помилку переповнення, ми повинні знати, який тип даних може містити скільки значень.
  • Функція CLNG допомагає у помилці переповнення для довгих типів даних.

Рекомендовані статті

Це посібник із помилкою переповнення VBA. Тут ми обговорюємо, як використовувати функцію помилок переповнення Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Копіювати функцію вставки в VBA
  2. Функція Substring Excel
  3. Підписка VBA поза діапазоном
  4. Формула ЕКСЕЛЬНОГО РОЗМІРУ

Категорія: