ВБА УседРанге | Како пронаћи број употребљених редова и колона?
Као што само име говори, УседРанге су опсези који као нека врста вредности у њима празне ћелије нису укључени у коришћене опсеге, па је у ВБА Употребљени опсези својство објекта распона у ВБА за тај опсег ћелија у редови и колоне који нису празни и садрже неке вредности.
УседРанге у ВБА Екцел
УседРанге у ВБА је својство радног листа које враћа објект опсега који представља опсег који се користи (све Екцел ћелије које се користе или попуњавају у радном листу) на одређеном радном листу. То је својство које представља подручје које покрива или ограничава горња лева коришћена ћелија и последње десно коришћене ћелије на радном листу.
„Коришћена ћелија“ можемо да опишемо као ћелију која садржи било коју формулу, форматирање, вредност итд. Последњу кориштену ћелију можемо да изаберемо и притиском на тастере ЦТРЛ + ЕНД на тастатури.
Следи илустрација УседРанге у радном листу:
На горњем снимку заслона можемо видети да је УседРанге А1: Д5.
Примери својства Екцел ВБА УседРанге
Погледајмо неколико примера у наставку да бисмо видели како се својство УседРанге на радном листу може користити за проналажење коришћеног опсега у ВБА:
Овај ВБА УседРанге Екцел предложак можете преузети овде - ВБА УседРанге Екцел ПредложакПример # 1
Рецимо да имамо Екцел датотеку која садржи два радна листа и желимо да пронађемо и изаберемо коришћени опсег на Схеет1.
Погледајмо шта садржи Табела1:
За постизање овог задатка користимо својство УседРанге у непосредном прозору ВБА. ВБА непосредни прозор је алатка која помаже у добијању информација о Екцел датотекама, брзом извршавању или отклањању грешака у било ком ВБА коду, чак и ако корисник не пише макронаредбе. Налази се у програму Висуал Басиц Едитор и може му се приступити на следећи начин:
- Идите на картицу Програмер Екцел, а затим кликните на Висуал Басиц Едитор или притисните Алт + Ф11 да бисте отворили прозор Висуал Басиц Едитор-а.
Након тога отвара се прозор на следећи начин:
- Притисните Цтрл + Г да бисте отворили непосредни прозор и унесите код.
Непосредни прозор изгледа:
- Следећи код ће одабрати коришћени опсег на Схеет1
Шифра:
? Радни листови ("Схеет1"). Активирати Труе? АцтивеСхеет.УседРанге.Селецт Труе
Прва наредба кода активираће Лист1 датотеке, а друга наредба ће одабрати коришћени опсег у том активном листу.
Током писања овог кода, видимо да се опсег који се користи у листу 1 бира на следећи начин:
Пример # 2
Рецимо, у овом примеру желимо да пронађемо укупан број редова коришћених у листу 1. Да бисмо то урадили, следимо кораке у наставку:
- Направите име макронаредбе у модулу.
Шифра:
Суб ТоталРовс () Крај Суб
- Дефинишите променљиву ТоталРов као целобројно у ВБА:
Шифра:
Суб ТоталРовс () Затамни ТоталРов као целобројни крај Суб
- Сада доделите променљиву ТоталРов са формулом за израчунавање укупног броја редова:
Шифра:
Суб ТоталРовс () Затамни ТоталРов као целобројни ТоталРов = АцтивеСхеет.УседРанге.Ровс.Цоунт Крај Суб
- Сада се резултујућа вредност ТоталРов може приказати и вратити помоћу оквира за поруке ВБА (МсгБок) на следећи начин:
Шифра:
Суб ТоталРовс () Затамни ТоталРов као целобројни ТоталРов = АцтивеСхеет.УседРанге.Ровс.Цоунт МсгБок ТоталРов Енд Суб
- Сада покрећемо овај код ручно или притиском на Ф5 и добијамо укупан број редова коришћених у Схеет1 приказан у оквиру за поруке на следећи начин:
Дакле, можемо да видимо на горњем снимку екрана да се у поље за поруку враћа „5“, а као што можемо видети на Табели 1, укупан број редова у коришћеном опсегу је 5.
Пример # 3
Слично томе, ако желимо да пронађемо укупан број колона које се користе у листу 1, следит ћемо исте кораке као горе, осим мале промјене кода на сљедећи начин:
Шифра:
Суб ТоталЦолс () Затамни ТоталЦол као целобројни ТоталЦол = АцтивеСхеет.УседРанге.Цолумнс.Цоунт МсгБок ТоталЦол Енд Суб
Сада када покренемо овај код ручно или притиском на Ф5, добијамо укупан број колона коришћених у Схеет1 приказан у оквиру за поруке на следећи начин:
Дакле, „4“ се враћа у оквир за поруку, а као што видимо на листу 1, укупан број колона у коришћеном опсегу је 4.
Пример # 4
Рецимо сада да желимо да пронађемо последњи коришћени број реда и колоне у Схеет2 датотеке. Погледајмо шта садржи Схеет2:
Да бисмо то урадили, следимо следеће кораке:
- Направите име макронаредбе у модулу.
Шифра:
Суб ЛастРов () Крај Суб
- Дефинишите променљиву ЛастРов као целобројно.
Шифра:
Суб ЛастРов () Затамни ЛастРов као целобројни крај Суб
- Сада доделите променљивој ЛастРов са формулом за израчунавање последњег коришћеног броја реда:
Шифра:
Суб ЛастРов () Затамни ЛастРов као целобројно ЛастРов = АцтивеСхеет.УседРанге.СпециалЦеллс (клЦеллТипеЛастЦелл) .Ров Енд Суб
Метода СпециалЦеллс у програму Екцел ВБА враћа објект опсега који представља само назначене типове ћелија. Синтакса методе СпециалЦеллс је:
РангеОбјецт.СпециалЦеллс (тип, вредност)
У горњем коду, клЦеллТипеЛастЦелл: представља последњу ћелију у коришћеном опсегу.
Белешка: „КслЦеллТипе“ ће чак укључивати празне ћелије којима је промењен подразумевани формат било које ћелије.- Сада се резултујућа вредност броја ЛастРов може приказати и вратити помоћу оквира за поруке (МсгБок) на следећи начин:
Шифра:
Суб ЛастРов () Затамни ЛастРов као целобројни ЛастРов = АцтивеСхеет.УседРанге.СпециалЦеллс (клЦеллТипеЛастЦелл) .Ров МсгБок ЛастРов Енд Суб
- Сада покрећемо овај код ручно или притиском на Ф5 и добијамо последњи коришћени број реда у Схеет2 приказан у оквиру за поруке на следећи начин:
Дакле, на горњем снимку екрана можемо видети да се у пољу за поруку враћа „12“, а као што можемо видети на Схеет2, последњи коришћени број реда је 12.
Слично томе, ако желимо да пронађемо последњи коришћени број колоне у Схеет2, следићемо исте кораке као горе, осим мале промене кода на следећи начин:
Шифра:
Суб ЛастЦол () Затамни ЛастЦол као целобројни ЛастЦол = АцтивеСхеет.УседРанге.СпециалЦеллс (клЦеллТипеЛастЦелл) .Колона МсгБок ЛастЦол Крај Суб
Сада када покренемо овај код ручно или притиском на Ф5, добијамо последњи коришћени број колоне у Схеет2 приказан у оквиру за поруке на следећи начин:
Дакле, на горњем снимку екрана можемо видети да се у поље за поруку враћа „3“, а као што можемо видети на Схеет2, последњи коришћени број колоне је 3.
Ствари које треба запамтити о ВБА УседРанге
- ВБА УседРанге је опсег правоугаоника.
- ВБА УседРанге укључује ћелије које имају било какве податке или су форматиране итд.
- Екцел ВБА УседРанге не мора нужно да садржи горњу леву ћелију радног листа.
- УседРанге не сматра нужно активну ћелију као коришћену.
- УседРанге се може користити за проналажење последњег коришћеног реда у ВБА и за ресетовање коришћеног опсега итд.
- Притиском на Екцел тастере ЦТРЛ + СХИФТ + ЕНТЕР на тастатури можете да проширите избор из активне ћелије на последњу кориштену ћелију на радном листу.