ВБА УседРанге | Како пронаћи број употребљених редова и колона?

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

УседРанге у ВБА Екцел

УседРанге у ВБА је својство радног листа које враћа објект опсега који представља опсег који се користи (све Екцел ћелије које се користе или попуњавају у радном листу) на одређеном радном листу. То је својство које представља подручје које покрива или ограничава горња лева коришћена ћелија и последње десно коришћене ћелије на радном листу.

„Коришћена ћелија“ можемо да опишемо као ћелију која садржи било коју формулу, форматирање, вредност итд. Последњу кориштену ћелију можемо да изаберемо и притиском на тастере ЦТРЛ + ЕНД на тастатури.

Следи илустрација УседРанге у радном листу:

На горњем снимку заслона можемо видети да је УседРанге А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.

Ствари које треба запамтити о ВБА УседРанге

  • ВБА УседРанге је опсег правоугаоника.
  • ВБА УседРанге укључује ћелије које имају било какве податке или су форматиране итд.
  • Екцел ВБА УседРанге не мора нужно да садржи горњу леву ћелију радног листа.
  • УседРанге не сматра нужно активну ћелију као коришћену.
  • УседРанге се може користити за проналажење последњег коришћеног реда у ВБА и за ресетовање коришћеног опсега итд.
  • Притиском на Екцел тастере ЦТРЛ + СХИФТ + ЕНТЕР на тастатури можете да проширите избор из активне ћелије на последњу кориштену ћелију на радном листу.