Овај водич ће објаснити како се користи Цуррент Регион у ВБА.
Тхе ЦуррентРегион проперти у ВБА је начин да изаберете све ћелије које се налазе у опсегу са којима бисте можда желели да радите. Све док су ћелије унутар опсега све узастопне или се „додирују“, ЦуррентРегион ће изабрати сваку ћелију у региону.
ЦуррентРегион Синтакса
Синтакса је врло једноставна:
1 | Опсег ("Е11"). ЦуррентРегион.Селецт |
где бисте навели ћелију чији тренутни регион желите да изаберете, а затим употребили ЦуррентРегион.Селецт својство за избор опсега ћелија.
Добијање тренутног региона
Размотрите следећи радни лист.
следећа подпроцедура би изабрала све ћелије у бази података
1234567 | Суб ФиндЦуррентРегион ()Дим рнг Ас Ранге'подесите опсег на ћелију Е11Постави рнг = опсег ("Е11")'изаберите тренутни регионрнг.ЦуррентРегион.СелецтЕнд Суб |
Ако покренемо рутину, све ћелије у ЦуррентРегион ћелије Е11 ће бити изабрано.
Ако уклонимо садржај суседних ћелија и поново покренемо рутину, следеће ће бити изабрано као тренутни регион.
Међутим, ако уклонимо још више података, могли бисмо завршити с доњим примјером за тренутну регију ћелије Е11.
Стављајући приступ информацијама у Д13, завршавамо са следећим:
Тхе ЦуррентРегион стога враћа другу домет објекат дефинисан најмањом комбинацијом заузетих колона и редова који окружују распон који сте унели.
Бројање редова и колона у тренутном региону
Можемо да користимо ЦуррентРегион за бројање редова и колона.
12345678910111213 | Суб ФиндЦуррентРегион ()Дим рнг Ас РангеДим иРв Ас ИнтегерДим иЦол као цео број'подесите опсегПостави рнг = опсег ("Е11")'броји редовеиРв = рнг.ЦуррентРегион.Ровс.Цоунт'броји колонеиЦол = рнг.ЦуррентРегион.Цолумнс.Цоунт'приказати резултат у оквиру за порукуМсгБок ("Имамо редове" & иРв & "и колоне" & иЦол & "у нашем тренутном региону")Енд Суб |
Ако покренемо процедуру, појавиће се следеће поље за поруку.
Брисање тренутног региона
Такође можемо користити тренутну карактеристику региона да обришемо распон ћелија.
123456 | Суб ЦлеарЦуррентРегион ()Дим рнг Ас Ранге'подесите опсегПостави рнг = опсег ("Е11")рнг.ЦуррентРегион.ЦлеарЕнд Суб |
Додељивање променљиве тренутном региону
Такође можемо да доделимо читав тренутни регион променљивој опсегу, а затим да употребимо тај променљиви опсег за манипулацију ћелијама - било да се ради о обликовању ћелија, сортирању ћелија итд …
12345678910 | Суб АссигнЦуррентРегионТоВариабле ()Дим рнг Ас Ранге'подесите опсег као тренутни регион Е11Подесите рнг = опсег ("Е11"). ЦуррентРегион'обојите позадину и текстрнг.Интериор.Паттерн = клСолидрнг.Интериор.Цолор = 65535рнг.Фонт.Болд = Тачнорнг.Фонт.Цолор = -16776961Енд Суб |
Ако покренемо горњу процедуру, завршићемо са радним листом као што је приказано испод!
Добијање почетне и крајње ћелије у тренутном региону
Са мало сложенијим кодом, можемо добити прву и последњу ћелију у тренутној регији.
123456789101112131415161718 | Суб ГетСтартАндЕндЦеллс ()Дим рнг Ас РангеДим иРв Ас ИнтегерДим иЦол као цео бројДим иЦолСтарт, иЦолЕнд, иРвСтарт, иРвЕнд Ас Стринг'подесите променљиву опсег као тренутну регију Е11Подесите рнг = опсег ("Е11"). ЦуррентРегион'поставите почетну колону за опсегиЦолСтарт = рнг.Цолумн'добити крајњу колону за опсегиЦолЕнд = иЦолСтарт + (рнг.Цолумнс.Цоунт - 1)'добити почетни ред за опсегиРвСтарт = рнг.Ров'добити крајњи ред за опсегиРвЕнд = иРвСтарт + (рнг.Ровс.Цоунт - 1)'приказати адресу почетних и завршних редова и колона у оквиру за порукуМсгБок ("Распон почиње на" & ћелије (иРвСтарт, иЦолСтарт). Адреса & "и завршава на" & ћелије (иРвЕнд, иЦолЕнд). Адреса)Енд Суб |
Када покренемо горњи код, појавиће се следеће поље за поруку