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

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

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

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

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

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

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

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

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

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

Занимљиви Чланци...