VBA IFERROR

Написаний код багато разів дає помилку, і шанси отримати помилку в складній помилці досить високі. Like excel має функцію IFERROR, яка використовується там, де є шанси отримати помилку. IFERROR змінює повідомлення про помилку на інші текстові висловлювання, як того вимагає і визначає користувач. Аналогічно VER IFERROR функціонує так само, як IFERROR функція Excel. Він змінює повідомлення про помилку у визначений користувачем текст.

Ця помилка в основному виникає, коли ми виконуємо будь-яку математичну функцію або якщо ми відображаємо будь-які дані, які є в іншому форматі. IFERROR обробляє багато помилок, деякі з них:

# VALUE !, # N / A, # DIV / 0 !, #REF !, #NUM !, #NULL! І # NAME?

Приклад №1

Тепер ця функція IFERROR також може бути реалізована в VBA. Тепер для порівняння результатів Excel з VBA IFERROR ми вставимо стовпчик, де будемо застосовувати оператор VBA IFERROR, як показано нижче.

Ви можете завантажити цей шаблон Excel IFERROR Excel тут - шаблон VBA IFERROR Excel

Для цього ми враховуємо ті самі дані і вставляємо інший стовпець, де ми будемо виконувати VBA IFERROR. Перейдіть до вікна VBA та вставте новий модуль із меню Вставка, як показано нижче.

Тепер у щойно відкритий модуль запишіть підкатегорію з будь-яким ім’ям. Тут ми дали назву операційної функції, як показано нижче.

Код:

 Sub VBA_IfError () Кінець Sub 

Тепер за допомогою ActiveCell ми виберемо першу опорну комірку, а потім безпосередньо використаємо формулу IFERROR з опорною коміркою (RC) -2, поділеною на -1 число комірок. Що означає, що ми ділимо комірку A на клітинку B у першому аргументі. А у другий аргумент напишіть будь-яке твердження, яке ми хочемо замість помилки. Тут ми будемо використовувати той самий стан, який ми бачили вище, тобто "Без класу продуктів".

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "No Class Class" ")" End Sub 

Тепер виберіть клітинку діапазону, яка була б нашим знаменником. Тут ми вибрали клітинку С2.

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Клас відсутності продукту "") "Діапазон (" C2 "). Виберіть End Sub 

Тепер перетягніть формулу в клітинки нижче, де нам потрібно застосувати IFERROR, поки таблиця не має значень.

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Клас відсутності продукту "") "Діапазон (" C2 "). Виберіть Selection.End (xlDown). Виберіть End Під 

Тепер перейти до останньої комірки стовпця за допомогою команди Range, куди нам потрібно перетягнути формулу IFERROR. Тут наша межа закінчується на комірці D6.

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Клас товару немає "") "Діапазон (" C2 "). Виберіть Selection.End (xlDown). Виберіть діапазон ("D6"). Виберіть End Sub 

Тепер для перетягування застосованого IFERROR вниз до всіх застосованих комірок виберіть діапазон від Кінцевої (або Останній) комірки до До застосованої комірки формули за допомогою кінця (xlUp) у діапазоні .

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Клас товару немає "") "Діапазон (" C2 "). Виберіть Selection.End (xlDown). Виберіть діапазон ("D6"). Оберіть Діапазон (Вибір, Вибір.Закінчити (xlUp)). Виберіть Кінець суб 

Як ми робимо Ctrl + D для перетягування значень комірок до всіх вибраних комірок у excel, тут, у VBA, Selection.FillDown використовується для заповнення однакових значень комірок у всіх вибраних клітинках.

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Клас товару немає "") "Діапазон (" C2 "). Виберіть Selection.End (xlDown). Виберіть діапазон ("D6"). Оберіть Діапазон (Вибір, Вибір.Закінчити (xlUp)). Виберіть Вибір.Заповнити Закінчення Sub 

Це завершує кодування VBA IFERROR. Тепер запустіть повний код, натиснувши кнопку відтворення, як показано на скріншоті нижче.

Як ми можемо бачити вище, у колонці D, починаючи з клітини 2 до 6, ми отримали наші результати.

Існує ще один формат і спосіб застосувати IFERROR у VBA. Для цього ми розглянемо інший набір даних, як показано нижче. Нижче ми маємо дані про продажі деяких продуктів у стовпці А та якість, що продаються у стовпці B. І нам потрібні відображення цих даних у комірці F2 з посиланням на тип продукту Ноутбук . Тепер дані в першій таблиці мають # N / A у комірці B3, за кількість ноутбука, розпродану, що означає, що в самих вихідних даних є помилка. І якщо ми подивимось дані з першої таблиці до Cell F2, ми отримаємо тут же N / A.

Для цього відкрийте новий модуль у VBA і напишіть підкатегорію з назвою виконуваної функції.

Код:

 Sub VBA_IfError2 () Кінець Sub 

Виберіть діапазон, де нам потрібно побачити вихід або безпосередньо активувати цю клітинку за допомогою ActiveCell, а потім командний рядок dot (.), Як показано нижче.

Код:

Тепер виберіть FormulaR1C1 зі списку, який використовується для вставки будь-якої функції excel.

Тепер використовуйте ту саму формулу, що і у функції excel у VBA.

Код:

 Під VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5)): R (3) C (-4), 2, 0), " "Помилка в Дані "") "Закінчити Sub 

Тепер виберіть клітинку, де нам потрібно побачити вихід у діапазоні. Тут ми вибрали клітинку F3.

Код:

 Під VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5)): R (3) C (-4), 2, 0), " "Помилка в Дані "") "Діапазон (" B8 "). Виберіть End Sub 

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

Як ми бачимо на наведеному вище скріншоті, вихід продукту типу « Ноутбук» із першої таблиці № N / A є текстом помилки « Помилка в даних », як визначено у коді VBA.

Плюси функції VBA IFERROR

  • Для застосування функції IFERROR через VBA потрібно небагато часу.
  • Результат від функції вставки Excel та кодування VBA IFERROR, обидва однакові.
  • Ми також можемо відформатувати або вставити спеціальну застосовану формулу, щоб уникнути будь-яких подальших проблем.

Мінуси функції VBA IFERROR

  • IFERROR за допомогою цього методу, посилання на діапазон вибраної комірки може порушитися, оскільки таблиця має обмежені комірки.

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

  • Ми можемо записати макрос і змінити записане кодування відповідно до наших потреб.
  • Завжди пам'ятайте про збереження файлу як макро-увімкненого Excel, щоб ми могли використовувати застосований або створений макрос кілька разів без жодних проблем.
  • Переконайтесь, що пам’ятаєте скласти повний код, перш ніж закінчити функцію командування. Цим ми можемо уникнути або виправити будь-яку виниклу помилку.
  • Ви можете застосувати створений код до кнопки чи вкладки та використовувати його одним натисканням кнопки. Це найшвидший спосіб запуску коду.
  • Найкращий спосіб уникнути будь-яких змін після запуску коду - це вставити спеціальні цілі клітинки, щоб у комірці не було жодної формули.

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

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

  1. Масиви VBA в Excel
  2. Керівництво по формату номерів VBA
  3. Керівництво по пошуку VBA
  4. Як користуватися VBA Do while Loop?

Категорія: