ВБА ИФЕРРОР

Писани код много пута даје грешку, а шансе за добијање грешке у сложеној грешци су прилично велике. Лике екцел има функцију ИФЕРРОР која се користи тамо где постоје шансе да дође до грешке. ИФЕРРОР мења поруку о грешци у друге текстуалне изјаве према потреби и дефинише их корисник. Слично томе, ВБА ИФЕРРОР функционише исто као и ИФЕРРОР функција Екцел-а. Корисник мења поруку о грешци у дефинисан текст.

Ова грешка се углавном јавља када вршимо било коју математичку функцију или ако мапирамо било које податке који су у другом формату. ИФЕРРОР обрађује многе грешке, неке од њих су:

# ВАЛУЕ !, # Н / А, # ДИВ / 0 !, #РЕФ !, # НУМ !, # НУЛЛ! И #НАМЕ?

Пример # 1

Сада се ова ИФЕРРОР функција може имплементирати и у ВБА. Сада да бисмо упоредили резултате из Екцела са ВБА ИФЕРРОР-ом убацићемо колону у коју ћемо применити ВБА ИФЕРРОР изјаву као што је приказано у наставку.

Можете преузети овај ВБА ИФЕРРОР Екцел образац овде - ВБА ИФЕРРОР Екцел предложак

За то сматрамо исте податке и убацујемо другу колону у којој ћемо изводити ВБА ИФЕРРОР. Идите на прозор ВБА и уметните нови модул из менија Уметање, као што је приказано испод.

Сада у новоотворени модул напишите подкатегорију с било којим именом. Овде смо дали име оперативне функције као што је приказано у наставку.

Шифра:

 Суб ВБА_ИфЕррор () Крај Суб 

Сада ћемо уз помоћ АцтивеЦелл-а изабрати прву референтну ћелију и директно користити ИФЕРРОР Формулу са референтном ћелијом (РЦ) -2 подељеном са -1 бројем ћелија. Што значи да у првом аргументу делимо ћелију А на ћелију Б. И у другом аргументу напишите било коју изјаву коју желимо уместо грешке. Овде ћемо користити исто стање које смо видели горе, тј. „Нема класе производа“.

Шифра:

 Суб ВБА_ИфЕррор () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (РЦ (-2) / РЦ (-1), " "Нема класе производа" "" Енд Суб 

Сада одаберите ћелију домета која би била наш називник. Овде смо изабрали ћелију Ц2.

Шифра:

 Под ВБА_ИфЕррор () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (РЦ (-2) / РЦ (-1), " Нема класе производа "") "Опсег (" Ц2 "). 

Сада превуците формулу у ћелије испод којих морамо да применимо ИФЕРРОР док табела не добије вредности.

Шифра:

 Под ВБА_ИфЕррор () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (РЦ (-2) / РЦ (-1), " Нема класе производа "") "Распон (" Ц2 "). Одаберите Селецтион.Енд (клДовн) .Изберите крај Суб 

Сада да дођемо до последње ћелије колоне уз помоћ команде Ранге где треба да превучемо ИФЕРРОР формулу. Овде се наша граница завршава на ћелији Д6.

Шифра:

 Под ВБА_ИфЕррор () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (РЦ (-2) / РЦ (-1), " Нема класе производа "") "Опсег (" Ц2 "). Селецтион.Енд (клДовн). ("Д6") Изаберите Енд Суб 

Сада да бисте повукли примењени ИФЕРРОР према доле на све применљиве ћелије, изаберите команду Распон од крајње (или последње) до горње примењене ћелије формуле помоћу краја (клУп) под опсегом .

Шифра:

 Под ВБА_ИфЕррор () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (РЦ (-2) / РЦ (-1), " Нема класе производа "") "Опсег (" Ц2 "). Селецтион.Енд (клДовн). ("Д6"). Изаберите опсег (избор, избор. Крај (клУп)). 

Док радимо Цтрл + Д да превучемо горње вредности ћелија у све одабране ћелије у екцелу, овде у ВБА, Селецтион.ФиллДовн се користи да попуни исте вредности ћелија у свим одабраним ћелијама.

Шифра:

 Под ВБА_ИфЕррор () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (РЦ (-2) / РЦ (-1), " Нема класе производа "") "Опсег (" Ц2 "). Селецтион.Енд (клДовн). ("Д6"). Изаберите опсег (Селецтион, Селецтион.Енд (клУп)). Селецт Селецтион.ФиллДовн Енд Суб 

Овим се довршава кодирање ВБА ИФЕРРОР-а. Сада покрените комплетан код кликом на дугме за репродукцију као што је приказано на слици испод.

Као што видимо горе, у колони Д почевши од ћелије 2 до 6 добили смо своје резултате.

Постоји још један формат и начин примене ИФЕРРОР-а у ВБА. Због тога ћемо размотрити још један низ података као што је приказано у наставку. Испод имамо податке о продаји неких производа у колони А и квалитети који се продају у колони Б. И ове податке требамо пресликати у ћелију Ф2 с обзиром на тип производа Лаптоп . Сада подаци у првој табели имају # Н / А у ћелији Б3 са за количину преносног рачунара која је распродана, што значи да и сами изворни подаци имају грешку. А ако потражимо податке из прве табеле до ћелије Ф2, добићемо овде исти број # Н / А.

За то отворите нови модул у ВБА и напишите подкатегорију са називом извршене функције.

Шифра:

 Суб ВБА_ИфЕррор2 () Крај Суб 

Изаберите опсег где треба да видимо излаз или директно активирамо ту ћелију АцтивеЦелл-ом, а затим следе наредбену линију дот (.) Као што је приказано у наставку.

Шифра:

Сада изаберите ФормулаР1Ц1 са листе која се користи за уметање било које екцел функције.

Сада користите исту формулу која се користи и у екцел функцији у ВБА.

Шифра:

 Под ВБА_ИфЕррор2 () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (ВЛООКУП (РЦ (-1), Р (-1) Ц (-5): Р (3) Ц (-4), 2, 0), " "Грешка у Подаци "") "Крај суб 

Сада одаберите ћелију у којој требамо да видимо излаз у опсегу. Овде смо одабрали ћелију Ф3.

Шифра:

 Под ВБА_ИфЕррор2 () АцтивеЦелл.ФормулаР1Ц1 = "= ИФЕРРОР (ВЛООКУП (РЦ (-1), Р (-1) Ц (-5): Р (3) Ц (-4), 2, 0), " "Грешка у Податци "") "Опсег (" Б8 "). Изаберите Енд Суб 

Сада компајлирајте и покрените комплетан код користећи Ф5 тастер или ручно и погледајте резултат као што је приказано у наставку.

Као што видимо на горе приказаном слици, излаз типа производа Лаптоп из прве табеле бр. Н / А је текст грешке „ Грешка у подацима “ како је дефинисано у ВБА коду.

Предности функције ВБА ИФЕРРОР

  • Мало је времена за примену функције ИФЕРРОР кроз ВБА.
  • Резултат Екцел функције уметања и ВБА ИФЕРРОР кодирања, оба су иста.
  • Примењену формулу можемо такође форматирати или залепити како бисмо избегли било какав даљи проблем.

Против функције ВБА ИФЕРРОР

  • ИФЕРРОР овом методом референцирање опсега одабране ћелије може бити узнемирен јер табела има ограничене ћелије.

Ствари које треба запамтити

  • Можемо снимити макро и изменити снимљено кодирање према нашим потребама.
  • Увек запамтите да датотеку сачувате као Мацро-Енаблед Екцел, како бисмо могли да користимо примењени или креирани макро више пута без икаквог проблема.
  • Обавезно саставите комплетан код пре него што окончате командну функцију. На овај начин можемо избећи или исправити сваку насталу грешку.
  • Можете створити створени код на дугме или картицу и користити га једним притиском. Ово је најбржи начин за покретање кода.
  • Најбољи начин да избегнете било какве промене након покретања кода јесте да залепите специјалне комплетне ћелије како не би било које формуле у ћелији.

Препоручени чланци

Ово је водич за Екцел ВБА функцију ИФЕРРОР. Овдје смо разговарали о томе како користити ИФЕРРОР функцију у ВБА заједно с неким практичним примјерима и довнлоад-ом Екцел предлошка. Можете и да прођете кроз друге наше предложене чланке -

  1. ВБА низови у Екцелу
  2. Водич за формат ВБА броја
  3. Водич за проналажење ВБА
  4. Како се користи ВБА До вхиле Лооп?

Категорија: