Како створити зависни комбиновани оквир у ВБА Екцелу?

Преглед садржаја:

Anonim

Знамо како да направимо падајући падајући мени на радном листу помоћу валидације података. Али како да створимо падајући падајући мени падајућег оквира на ВБА корисничком облику. Ово је једна од основних потреба.

У овом чланку ћемо научити како створити зависни комбиновани оквир у ВБА.

Логика за зависни Цомбобок у ВБА

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

Доста је било теорије. Хајде да скочимо на пример да видимо како то функционише.

ЦомбоБок У зависности од другог Цомбобок -а

Направите два комбинована оквира. Прво треба навести неколико назива држава. Други треба да наведе имена држава изабране земље. Ако корисник промени државу у првом комбинованом оквиру, требало би променити листу другог комбинованог оквира.

Направимо образац који има два комбинована оквира са ознакама земаља и држава и командно дугме за слање уноса.

Први комбиновани оквир треба да садржи имена земаља и не зависи од било које вредности. Зато ћемо га учитати у форм_интиализе догађај као што радимо за основну иницијализацију цомбобок -а.

Двапут кликните на кориснички образац. Отвориће се поље за кодирање у УсерФорм објекту. Сада са левог падајућег менија изаберите кориснички образац. Затим са десног падајућег менија изаберите Иницијализација.

Празан подиме УсерФорм_Инитиализе () ће бити уметнут. Све што је написано у овом подменију извршиће се пре него што се појави кориснички облик.

Дакле, овде пишемо иницијализацијски код за цомбобок.

Приватни под УсерФорм_Инитиализе () земље = Арраи ("Индија", "Непал", "Бутан", "Схрее Ланка") УсерФорм1.ЦомбоБок1.Лист = наводи Енд Суб 

Иницијализовали смо први комбиновани оквир. Кад год учитате кориснички образац, први комбиновани оквир биће спреман са именом земаља.

Сада да учитамо други комбиновани оквир, морамо погледати која је вредност изабрана у првом комбинованом оквиру1 и покренути код сваки пут када комбиновани оквир1 промени своје вредности. За ово ћемо користити догађај Цомбобок_АфтерУпдате.

На левом падајућем менију изаберите цомбобок1. На десном падајућем менију изаберите АфтерУпдате. Такође можемо користити догађај Цханге, али ћемо се држати АфтерУпдате у чланку.

Сада напишите доњи код:

Привате Суб ЦомбоБок1_АфтерУпдате () Изаберите случај ЦомбоБок1.Валуе Цасе "Индиа": статес = Арраи ("Делхи", "УП", "УК", "Гујрат", "Касхмир") Цасе "Непал": статес = Арраи ("Арун Ксхетра "," Јанакпур Ксхетра "," Катхманду Ксхетра ", _" Гандак Ксхетра "," Капилавасту Ксхетра ") Случај" Бутан ": државе = Арраи (" Бумтханг "," Тронгса "," Пунакха "," Тхимпху "," Паро ") Случај" Схрее Ланка ": статес = Арраи (" Галле "," Ратнапура "," Цоломбо "," Бадулла "," Јаффна ") Крај Изабери ЦомбоБок2.Лист = наводи Енд Суб 

Овде смо користили изабрани исказ случаја. Избор изабраног случаја је добар када желимо да видимо која је вредност изабрана од многих вредности. Овде сам то детаљно објаснио.

Да бисте сачували вредност коју је корисник унео, притисните дугме за слање. Упишите доњи код у командно дугме Пошаљи да бисте сачували државу и стање које је корисник изабрао на радном листу.

Приватна помоћна команда ЦоммандБуттон1_Цлицк () цоунтри = ЦомбоБок1.Валуе Стате = ЦомбоБок2.Валуе ТхисВоркбоок.Ворксхеетс ("схеет1"). Ранге ("Г1") = цоунтри ТхисВоркбоок.Ворксхеетс ("схеет1"). Ранге ("Х1") = Стате Унлоад Ме Енд Суб 

Сада да бисте приказали кориснички образац, уметните дугме на радни лист и напишите доњи код. Или можете користити једноставан модул за приказ корисничког облика.

Суб лоад_усерформ () УсерФорм1.Схов Енд Суб 

Сада покрените код лоад_усерформ.

Како то функционише?

Када покренете подмени који има код усерформ.схов, ВБА покреће усерформ_инитиализе догађаје одмах након покретања наредбе усерформ.схов. У догађају усерформ_интиализе иницирали смо први комбиновани оквир са листом земаља. Након тога се образац приказује кориснику.

Сада када корисник изабере било коју вредност из првог комбинованог оквира, покреће се догађај цомбобок1_АфтерУпдате. Овај догађај садржи код за проверу вредности коју је корисник изабрао у цомбобок1 и на основу те вредности поставља низ стања и иницијализује вредности цомбобок2 са низом стања.

Па да, момци, овако стварате каскадни комбиновани оквир у ВБА корисничком облику. Надам се да сам довољно објаснио и да је чланак послужио сврси. Ако имате било каквих недоумица у вези овог чланка или било које ВБА теме, питајте ме у доњем одељку коментара.

Почетак коришћења Екцел ВБА корисничких образаца| Објаснићу вам како да креирате образац у екцелу, како да користите ВБА тоолбок, како да рукујете уносима корисника и на крају како да складиштите уносе корисника. Проћи ћемо кроз ове теме користећи један пример и водич корак по корак.

ВБА променљиве у Екцелу| ВБА означава Висуал Басиц фор Апплицатионс. То је програмски језик компаније Мицрософт. Користи се са апликацијама Мицрософт Оффице као што су МСЕкцел, МС-Ворд и МС-Аццесс, док су ВБА променљиве одређене кључне речи.

Екцел ВБА променљиви опсег| У свим програмским језицима имамо спецификаторе приступа променљивим који дефинишу одакле се може приступити дефинисаној променљивој. Екцел ВБА није изузетак. ВБА такође има спецификаторе опсега.

Аргументи БиРефа и БиВала | Када се аргумент пренесе као БиРеф аргумент на другу под -функцију или функцију, шаље се референца стварне променљиве. Све промене направљене у копији променљиве ће се одразити у оригиналном аргументу.

Брисање листова без упита за потврду помоћу ВБА у програму Мицрософт Екцел | Пошто бришете листове помоћу ВБА, знате шта радите. Желели бисте да кажете Екцелу да не приказује ово упозорење и да избрише проклети лист.

Додајте и сачувајте нову радну свеску помоћу ВБА у програму Мицрософт Екцел 2016| У овом коду смо прво креирали референцу на објекат радне свеске. Затим смо га иницијализовали новим објектом радне свеске. Предност овог приступа је што можете лако да радите на овој новој радној свесци. Као чување, затварање, брисање итд

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

Искључите поруке упозорења помоћу ВБА у програму Мицрософт Екцел 2016| Овај код не само да онемогућава ВБА упозорења, већ и повећава временску ефикасност кода. Да видимо како.

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

50 Екцел пречица за повећање продуктивности | Убрзајте свој задатак. Ових 50 пречица ће учинити да радите још брже на Екцелу.

Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.

ЦОУНТИФ у програму Екцел 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате да филтрирате податке да бисте рачунали одређене вредности. Цоунтиф функција је неопходна за припрему ваше контролне табле.

Како се користи функција СУМИФ у програму Екцел | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.