Екцел ВБА ИнпутБок

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

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

Синтакса за ВБА ИнпутБок

Следи синтакса за ВБА ИнпутБок:

Где,

  • Одзивник - Порука која се приказује кориснику. Ово је једини потребан аргумент, а остали аргументи су факултативни.
  • Наслов - То је наслов који се појављује у дијалошком прозору након успјешног извршавања ИнпутБок изјаве. Ако није дано, систем подразумевано штампа „Мицрософт Екцел“ као наслов.
  • Подразумевано - то је подразумевана вредност која се појављује у дијалошком оквиру. И то можемо да задржимо. За овај аргумент није постављена задана вредност.
  • КСПос - Поставите координат дијалошког оквира на Кс оси.
  • ИПос - Поставите координат дијалошког оквира на оси И.
  • ХелпФиле - Локација датотеке помоћи која би се требала користити. Овај аргумент постаје обавезан за постављање приликом доношења аргумента 'Контекст'.
  • Контекст - представља помоћ ЦонтектИд за коришћени фајл помоћи. Обавезна за употребу када се аргумент „ХелпФиле“ донесе.
  • Од свих ових аргумената, само су прва три довољна да успешно креирамо ИнпутБок.

Прављење ИнпутБок-а у Екцелу ВБА

Испод су сљедећи кораци за креирање ИнпутБок-а у Екцелу помоћу ВБА кода.

Можете преузети овај ВБА ИнпутБок Екцел шаблон овде - ВБА ИнпутБок Екцел предложак
  • Отворите ВБЕ (Висуал Басиц Едитор притиском на Алт + Ф11 истовремено у Екцел датотеци и кликните на Убаци и додајте нови модул у ВБЕ.

  • Креирајте макронаредбу у овом модулу под називом 'Модуле1'. Доделите име макронаредби.

  • Утипкајте команду ИнпутБок у уређивач.

Дајте следеће улазе у изјаву ИнпутБок:

  • Питање: "Могу ли да знам ваше пуно име?"
  • Назив: „Личне информације“
  • Подразумевано: „Почните да куцате овде

Шифра:

 Под ИнпутБокЕКС () ИнпутБок "Могу ли да знам ваше име?", "Личне информације", "Почните да куцате овде" крај Суб 

  • Притисните Ф5 или дугме за покретање да бисте покренули овај код.

Како чувати излаз ИнпутБок-а у ћелије?

Направили сте ИнпутБок да бисте добили унос од корисника. Међутим, где ће се излаз чувати? Нисмо поменули ниједну локацију на којој се излаз може сачувати.

Складиштимо излаз који смо добили од ИнпутБок-а да би се надмашио ћелије следећи кораке у ВБА:

  • Прогласите нову променљиву 'Наме' с типом 'Вариант'. Ова врста променљиве може да прими било коју вредност (нумеричку / низ / логичку итд.).

Шифра:

 Суб ИнпутБокЕКС () Дим Име као Варијанта Крај Суб 

  • Употријебите ИнпутБок да додијелите вриједност овој варијабли која се зове 'Наме'.

Шифра:

 Под ИнпутБокЕКС () Дим Дим као назив варијанте = ИнпутБок ("Могу ли да знам ваше име?", "Личне информације", "Почните да куцате овде") Крај Суб 

Ако сте могли примијетити заграде након израза ИнпутБок, оне су потребне јер ову изјаву користимо за варијаблу 'Наме'. Чим постане вредност која се даје променљивој, мора се поменути у правилном формату са заградама.

  • Без обзира на вредност коју је корисник унео у дијалошки оквир, желимо да то видимо у ћелији А1 Екцел листа. Следећу изјаву за исту ставите у ВБЕ: Распон („А1“) Вредност = Име.

Шифра:

 Под ИнпутБокЕКС () Дим име као име варијанте = ИнпутБок ("Могу ли да знам ваше име?", "Личне информације", "Почните куцати овде") распон ("А1") Вредност = Име Крај Под 

То је то, сада покренимо овај код и погледајмо како он функционише.

  • Кликните на дугме Покрени или притисните Ф5 да бисте покренули овај код, добићете следећи дијалошки оквир. Упишите своје име у дијалошки оквир исписан именом „Личне информације“ и притисните ОК да бисте видели где се штампа штампа.

  • Чим унесете вредност и кликнете на ОК, можете видети вредност унесену у ћелију А1. Погледајте снимак екрана испод.

Било која вредност може се сачувати помоћу ИнпутБок-а ако је променљива исправно дефинисана. У овом случају сте променљиву 'Наме' дефинисали као 'Вариант'. Варијантни тип података може узети било коју вредност података као што сам већ рекао.

Погледајте доњи пример:

Дајем број као аргумент дијалошком оквиру када се појави. Погледајте као доле:

Кликните на ОК, погледајте излаз испод:

Вредност у ћелији А1 је промењена у 2019.

Сада променимо врсту променљиве у Датум.

Шифра:

 Под ИнпутБокЕКС () Дим Име као датум Име = ИнпутБок ("Могу ли да знам ваше име?", "Личне информације", "Почните куцати овде") распон ("А1") Вредност = Име Крај Под 

Покрените код и покушајте да унесете вредност која није датум. Унети ћу своје име и кликнути на ОК.

  • Након што сте кликнули „У реду“, порука о грешци у времену покретања која каже „Унесите неусклађеност“.

До њега је дошло јер је тип променљиве име Датум сада и дао сам улазни аргумент који није вредност датума (назив низа). Због чега се овај код не извршава и баца грешку.

Валидација корисничког уноса

Шта ако вам кажем да кориснички унос може бити ограничен? Да то је истина! Кориснички унос можете ограничити на карактере, бројеве или логику итд.

Да бисте ограничили кориснички унос, можете да употребите Апплицатион.ИнпутБок.

Синтакса за Апплицатион.ИнпутБок је следећа:

Где,

Одзивник - Порука која се појављује за корисника.

Наслов - Заглавље дијалошког оквира.

Подразумевано - Подразумевана вредност која се појављује на пољу за куцање у дијалошком оквиру.

Тип - Врста улаза.

Ово су једини важни аргументи који су довољни за покретање ове изјаве.

Почнимо са примјером.

  • Декларирајте име променљиве као варијанту.

Шифра:

 Суб ИнпутБокЕКС () Дим Име као Варијанта Крај Суб 

Доделите Апплицатион.ИнпутБок променљивој званој Наме са истим аргументима као и они које сте користили ИнпутБок. тј. позив, наслов и задано. Погледајте код испод:

Шифра:

 Под ИнпутБокЕКС () Дим Дим као назив варијанте = Апплицатион.ИнпутБок ("Могу ли да знам ваше име?", "Личне информације", "Почните да куцате овде") Енд Суб 

Сада ставите зарез 5 пута да бисте игнорисали Лефт, Топ, ФилеФиле и ХелпЦонтектИД. Након 5 зареза можете одредити врсту уноса.

Шифра:

 Под ИнпутБокЕКС () Дим име као назив варијанте = Апплицатион.ИнпутБок ("Могу ли да знам ваше име?", "Личне информације", "Почните да куцате овде",,,, Енд Суб 

Тип улазног низа има испод поменутих потврда:

  • Изаберите 1 као Тип у нашој изјави. То значи да су у дијалошком оквиру који се појави појављују само Бројеви / Нумеричке вредности.

Шифра:

 Под ИнпутБокЕКС () Дим Дим као назив варијанте = Апплицатион.ИнпутБок ("Могу ли да знам ваше име?", "Личне информације", "Почните куцати овде",,,,, 1) Енд Суб 

  • Ручно покрените код или користећи тастер Ф5 и дајте име као унос у подручју за куцање, као што је приказано у наставку. Затим кликните на дугме У реду и погледајте излаз.

Каже, број није валидан. То се чини логичним, јер смо променљиви тип уноса поставили као број и пружили текст као унос који систем није прихватљив.

На овај начин можете ограничити корисника да уноси само вредности које желите да видите кроз ИнпутБок.

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

  • ИнпутБок прихвата до 255 аргумената и може приказати само 254. Дакле, будите опрезни око максималне дужине коју корисник може уписати.
  • Начин апликације може се користити за подешавање врсте улазних података. Међутим, ако се не користи, морате бити прецизнији о врсти улазних података.
  • Препоручује се одабир варијантног типа података, јер може садржати било који од нумеричких / текст / логичких итд. Б = вредности.

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

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

  1. Како се користи ФИНД функција у Екцелу
  2. Стварање ВБА функције у Екцелу
  3. Водич за домет у Екцелу
  4. Како се користи ВБА ВЛООКУП функција?

Категорија: