Како користити Иф-Тхен у Екцел 2016 ВБА

Ако-онда је најважнија контролна структура ВБА. Ову команду ћете вероватно користити свакодневно. Користите структуру Иф-Тхен када желите да извршите једну или више наредби условно. Опциона клаузула Елсе, ако је укључена, омогућава вам да извршите једну или више наредби ако услов који тестирате није тачан. Ево једноставне процедуре ЦхецкУсер, прекодиране да користи структуру Иф-Тхен-Елсе:

Суб ЦхецкУсер2()
  Корисничко име = ИнпутБок(“Унесите своје име: “)
  Ако је корисничко име = „Сатиа Наделла“ Онда
    МсгБок („Добродошла Сатја…“)
' …[Више кода овде] …
  Иначе
    МсгБок „Извини. Само Сатја Надела може ово да води.”
  Крај Ако
Енд Суб

Ако-Онда примери

Следећа рутина показује структуру Иф-Тхен без опционе Елсе клаузуле:

Суб ГреетМе()
  Ако је време < 0,5 онда МсгБок „Добро јутро“
Енд Суб

ГреетМе процедура користи ВБА-ову функцију Тиме да добије системско време. Ако је тренутно време мање од 0,5, рутина приказује пријатељски поздрав. Ако је Време веће или једнако .5, рутина се завршава и ништа се не дешава.

Да бисте приказали другачији поздрав ако је Тиме веће или једнако .5, можете додати још једну ако-онда изјаву после прве:

Суб ГреетМе2()
  Ако је време < 0,5 онда МсгБок „Добро јутро“
  Ако је време >= 0,5 онда МсгБок „Добар дан“
Енд Суб

Приметите да се >= (веће или једнако) користи за другу наредбу Иф-Тхен. Ово осигурава да цео дан буде покривен. Да је коришћено > (веће од) не би се појавила порука да је ова процедура извршена тачно у 12:00. То је мало вероватно, али са оваквим важним програмом, не желите да ризикујете.

Пример Ако-Онда-Елсе

Други приступ претходном проблему користи клаузулу Елсе. Ево исте рутине прекодиране да користи структуру Иф-Онда-Елсе:

Суб ГреетМе3()
  Ако је време < 0,5 онда МсгБок „Добро јутро“ Друго _
    МсгБок „Добар дан“
Енд Суб

Приметите да се у претходном примеру користи знак за наставак реда (подвлака). Наредба Иф-Тхен-Елсе је заправо једна изјава. ВБА пружа мало другачији начин кодирања Иф-Тхен-Елсе конструкција које користе Енд Иф наредбу. Стога се ГреетМе процедура може преписати као

Суб ГреетМе4()
  Ако је време < 0,5 Онда
    МсгБок „Добро јутро“
  Иначе
    МсгБок „Добар дан“
  Крај Ако
Енд Суб

У ствари, можете уметнути било који број исказа у део Иф и било који број исказа у део Елсе. Ова синтакса је лакша за читање и чини исказе краћим.

Шта ако треба да проширите ГреетМе рутину да бисте решили три услова: јутро, поподне и вече? Имате две опције: Користите три Иф-Онда изјаве или користите угнежђену Иф-Онда-Елсе структуру. Угнежђење значи постављање Иф-Онда-Елсе структуре унутар друге Иф-Онда-Елсе структуре. Први приступ, користећи три Иф-Тхен изјаве, је једноставнији:

Суб ГреетМе5()
 Пригуши поруку као стринг
 Ако је време < 0,5 онда је порука = „Јутро“
 Ако је време >= 0,5 и време < 0,75, онда је порука = „Поподне“
 Ако је време >= 0,75, онда је порука = „вече“
 МсгБок „Добро“ & Мсг
Енд Суб

Додан је нови обрт уз употребу променљиве. Варијабла Мсг добија другачију текстуалну вредност, у зависности од доба дана. МсгБок изјава приказује поздрав: Добро јутро, Добар дан или Добро вече.

Следећа рутина обавља исту радњу, али користи структуру Иф-Тхен-Енд Иф:

Суб ГреетМе6()
  Пригуши поруку као стринг
  Ако је време < 0,5 Онда
    Порука = „Јутро“
  Крај Ако
  Ако је време >= 0,5 и време < 0,75 Онда
    Порука = „Поподне“
  Крај Ако
  Ако је Време >= 0,75 Онда
    Порука = „Вече“
  Крај Ако
  МсгБок „Добро“ & Мсг
Енд Суб

Коришћење ЕлсеИф

У претходним примерима, свака наредба у рутини се извршава. Мало ефикаснија структура би изашла из рутине чим се утврди да је услов тачан. Ујутру, на пример, процедура треба да прикаже поруку Добро јутро, а затим да изађе — без процене других сувишних услова.

Са оваквом малом рутином, не морате да бринете о брзини извршења. Али за веће апликације у којима је брзина критична, требало би да знате још једну синтаксу за структуру Иф-Тхен.

Ево како можете да препишете ГреетМе рутину користећи ову синтаксу:

Суб ГреетМе7()
 Пригуши поруку као стринг
 Ако је време < 0,5 Онда
   Порука = „Јутро“
 ЕлсеИф Време >= 0,5 И Време < 0,75 Онда
   Порука = „Поподне“
 Иначе
   Порука = „Вече“
 Крај Ако
 МсгБок „Добро“ & Мсг
Енд Суб

Када је услов тачан, ВБА извршава условне наредбе, а структура Иф се завршава. Другим речима, овај поступак је мало ефикаснији од претходних примера. Компромис је у томе што је код теже разумљив.

Још један пример ако-онда

Ево још једног примера који користи једноставан облик структуре Иф-Тхен. Ова процедура тражи од корисника количину, а затим приказује одговарајући попуст, на основу количине коју корисник унесе:

Суб СховДисцоунт()
  Дим Куантити Ас Лонг
  Дим Дисцоунт Ас Доубле
  Количина = ИнпутБок(“Унесите количину:”)
  Ако је количина > 0, онда је попуст = 0,1
  Ако је количина >= 25, онда је попуст = 0,15
  Ако је количина >= 50, онда је попуст = 0,2
  Ако је количина >= 75, онда је попуст = 0,25
  МсгБок „Попуст:“ & Попуст
Енд Суб

Обратите пажњу на то да се свака наредба Иф-Тхен у овој рутини извршава, а вредност за Дисцоунт може да се промени како се искази извршавају. Међутим, рутина на крају приказује тачну вредност за попуст јер су изјаве Иф-Тхен у растућем реду вредности попуста.

Следећа процедура обавља исте задатке коришћењем алтернативне ЕлсеИф синтаксе. У овом случају, рутина се завршава одмах након извршавања наредби за прави услов:

Суб СховДисцоунт2()
 Дим Куантити Ас Лонг
 Дим Дисцоунт Ас Доубле
 Количина = ИнпутБок(“Унесите количину: “)
 Ако је количина > 0 и количина < 25 Онда
  Попуст = 0,1
 Иначе ако је количина >= 25 и количина < 50 Тада
  Попуст = 0,15
 Иначе ако је количина >= 50 и количина < 75 Тада
  Попуст = 0,2
 ЕлсеИф Количина >= 75 Онда
  Попуст = 0,25
 Крај Ако
 МсгБок „Попуст:“ & Попуст
Енд Суб

Ове вишеструке ако-онда структуре су прилично гломазне. Можда ћете желети да користите структуру Иф-Тхен само за једноставне бинарне одлуке.


Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Ако сте користили оловку или маркер за цртање на ПоверПоинт слајдовима током презентације, можете да сачувате цртеже за следећу презентацију или да их избришете тако да ћете следећи пут када их покажете почети са чистим ПоверПоинт слајдовима. Пратите ова упутства да бисте избрисали цртеже оловком и маркером: Брисање линија један на […]

Садржај библиотеке стилова у СхареПоинт 2010

Садржај библиотеке стилова у СхареПоинт 2010

Библиотека стилова садржи ЦСС датотеке, датотеке Ектенсибле Стилесхеет Лангуаге (КССЛ) и слике које користе унапред дефинисане главне странице, изгледе страница и контроле у ​​СхареПоинт 2010. Да бисте лоцирали ЦСС датотеке у библиотеци стилова на локацији за објављивање: Изаберите Радње сајта→Прикажи Сав садржај сајта. Појављује се садржај сајта. Библиотека Стил налази се у […]

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

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

Како делити и пратити СхареПоинт локације

Како делити и пратити СхареПоинт локације

Научите како да користите СхареПоинт алатке за друштвено умрежавање које омогућавају појединцима и групама да комуницирају, сарађују, деле и повезују се.

Како претворити датуме у јулијанске формате у Екцелу

Како претворити датуме у јулијанске формате у Екцелу

Јулијански датуми се често користе у производним окружењима као временска ознака и брза референца за број серије. Ова врста кодирања датума омогућава продавцима, потрошачима и услужним агентима да идентификују када је производ направљен, а тиме и старост производа. Јулијански датуми се такође користе у програмирању, војсци и астрономији. Различит […]

Како да направите приступну веб апликацију

Како да направите приступну веб апликацију

Можете да креирате веб апликацију у програму Аццесс 2016. Дакле, шта је уопште веб апликација? Па, веб значи да је онлајн, а апликација је само скраћеница за „апликацију“. Прилагођена веб апликација је апликација базе података на мрежи којој се приступа из облака помоћу претраживача. Ви правите и одржавате веб апликацију у верзији за десктоп […]

Трака за брзо покретање у СхареПоинт 2010

Трака за брзо покретање у СхареПоинт 2010

Већина страница у систему СхареПоинт 2010 приказује листу веза за навигацију на траци за брзо покретање дуж леве стране странице. Трака за брзо покретање приказује везе ка садржају истакнутог сајта као што су листе, библиотеке, сајтови и странице за објављивање. Трака за брзо покретање укључује две веома важне везе: Линк за сав садржај сајта: […]

Шта значе поруке о грешци решавача у Екцел-у?

Шта значе поруке о грешци решавача у Екцел-у?

За једноставне проблеме, Солвер у Екцел-у обично брзо проналази оптималне вредности променљиве Решавача за функцију циља. Али, у неким случајевима, Солвер има проблема да пронађе вредности променљиве Солвера које оптимизују функцију циља. У овим случајевима, Солвер обично приказује поруку или поруку о грешци која описује или расправља о проблему који […]

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Можете лако да уклоните израчуната поља и ставке из Екцел заокретне табеле. Да бисте уклонили израчунато поље, кликните на ћелију у изведеној табели. Затим кликните на команду Поља, ставке и скупови на картици Анализа и изаберите Израчунато поље из подменија који се појави. Када Екцел прикаже дијалог Уметање израчунатог поља, изаберите […]

Како означити у СхареПоинт-у

Како означити у СхареПоинт-у

Ознаке су кључне речи које додељујете садржају. Означавање страница за дељење са другима је обележавање на друштвеним мрежама, веома је популарно на вебу и лако је у СхареПоинт-у. Ако сте икада користили сајт као што је Делициоус, већ знате како функционише обележавање на друштвеним мрежама. Како све више људи додељује исте ознаке, ознаке постају начин на који […]