VBA IFERROR

Писменият код много пъти дава грешката и шансовете за получаване на грешка в сложна грешка са доста високи. Подобно на excel има функция IFERROR, която се използва там, където има шанс да получите грешка. IFERROR променя съобщението за грешка в други текстови изявления, както се изисква и дефинира от потребителя. По подобен начин VBA IFERROR функционира същото като функцията IFERROR на Excel. Той променя съобщението за грешка в дефинирания от потребителя текст.

Тази грешка се появява най-вече, когато изпълняваме някаква математическа функция или ако картографираме данни, които са в различен формат. IFERROR обработва много грешки, някои от тях са:

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

Пример №1

Сега тази функция IFERROR може да бъде реализирана и в VBA. Сега, за да сравним резултатите от Excel с VBA IFERROR, ще вмъкнем колона, в която ще приложим VBA IFERROR израза, както е показано по-долу.

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

За това считаме същите данни и вмъкваме друга колона, в която ще изпълним VBA IFERROR. Отидете в прозореца на VBA и поставете нов модул от менюто Вмъкване, както е показано по-долу.

Сега в новооткрит модул напишете подкатегория с всяко име. Тук сме посочили името на операционната функция, както е показано по-долу.

Код:

 Sub VBA_IfError () Край Sub 

Сега с помощта на ActiveCell ще изберем първата референтна клетка и след това директно ще използваме IFERROR Formula с референтна клетка (RC) -2, разделена на -1 брой клетки. Което означава, че делим клетка А на клетка В в първия аргумент. И във втория аргумент напишете всяко изявление, което искаме вместо грешка. Тук ще използваме същото състояние, което видяхме по-горе, т.е. „Няма продуктов клас“.

Код:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Няма продуктов клас" ")" End Sub 

Сега изберете клетката за диапазон, която ще бъде нашият знаменател. Тук сме избрали клетка С2.

Код:

 Под VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Няма продуктов клас "") "Обхват (" C2 "). Изберете End Sub 

Сега, за да плъзнете формулата до клетките по-долу, където трябва да приложим IFERROR, докато таблицата има стойности.

Код:

 Под VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Няма продуктов клас "") "Обхват (" C2 "). Изберете Selection.End (xlDown). Изберете край подводница 

Сега да стигнем до последната клетка на колоната с помощта на командата Range, където трябва да плъзнем формулата IFERROR. Тук нашата граница завършва в клетка D6.

Код:

 Под VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Няма продуктов клас "") "Обхват (" C2 "). Изберете Selection.End (xlDown). Изберете диапазон ("D6"). Изберете End Sub 

Сега, за да плъзнете приложения IFERROR надолу към всички приложими клетки, изберете командата Диапазон от Крайна (или Последна) клетка до До приложената формула клетка от Край (xlUp) под Range .

Код:

 Под VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Няма продуктов клас "") "Обхват (" C2 "). Изберете Selection.End (xlDown). Изберете диапазон ("D6"). Изберете диапазон (селекция, избор. Завършване (xlUp)). 

Докато правим Ctrl + D, за да плъзнем стойностите на клетката нагоре към всички избрани клетки в excel, тук във VBA, Selection.FillDown се използва за запълване на едни и същи стойности на клетки във всички избрани клетки.

Код:

 Под VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " Няма продуктов клас "") "Обхват (" C2 "). Изберете Selection.End (xlDown). Изберете диапазон ("D6"). Изберете диапазон (Selection, Selection.End (xlUp)). Select Selection.FillDown End Sub 

Това завършва кодирането на VBA IFERROR. Сега стартирайте пълния код, като кликнете върху бутона за възпроизвеждане, както е показано на снимката по-долу.

Както можем да видим по-горе, в колона D, започваща от клетка 2 до 6, получихме нашите резултати.

Има друг формат и начин за прилагане на IFERROR във VBA. За това ще разгледаме друг набор от данни, както е показано по-долу. По-долу имаме данни за продажбите на някои продукти в колона A и качеството, продавано в колона 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 с този метод, препращането на обхвата на избраната клетка може да се наруши, тъй като таблицата има ограничени клетки.

Неща, които трябва да запомните

  • Можем да запишем макроса и да променим записаното кодиране според нашите нужди.
  • Винаги не забравяйте да запишете файла като Macro-Enabled Excel, така че да можем да използваме приложен или създаден макрос няколко пъти без проблем.
  • Уверете се, че не забравяте да компилирате пълния код, преди да прекратите командната функция. По този начин можем да избегнем или поправим всяка възникнала грешка.
  • Можете да приложите създадения код в бутон или раздел и да го използвате с едно щракване. Това е най-бързият начин за стартиране на кода.
  • Най-добрият начин да избегнете промени след пускането на кода е да поставите специални цели клетки, така че да няма никаква формула в клетката.

Препоръчителни статии

Това е ръководство за функцията IFERROR на Excel VBA. Тук обсъдихме как да използваме IFERROR функция във VBA, заедно с някои практически примери и шаблон за excel за сваляне. Можете да разгледате и другите ни предложени статии -

  1. VBA масиви в Excel
  2. Ръководство за формат на номера на VBA
  3. Ръководство за намиране на VBA
  4. Как да използвате VBA Do while Loop?

Категория: