ВБА УБоунд - Како се користи Екцел ВБА УБоунд функција (примери)

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

Anonim

Екцел ВБА УБоунд функција

Колико често се сусрећете са ситуацијом када требате споменути максималну дужину или горњу границу података низа који раде са Екцелом? Већину пута, зар не? И како проналазите исто? Можда ручно већину времена. Међутим, можете то аутоматизовати и добити максималну дужину или горњу границу низа користећи ВБА функцију која се зове УБоунд.

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

УБоунд означава горњу границу и даје горњу границу или максималну дужину низа у Екцел ВБА.

Формула за УБоунд функцију у Екцелу ВБА

Екцел ВБА УБоунд функција има следећу синтаксу.

 УБоунд (Име матрице (, Димензија)) 

Где,

  • Назив низа: Име матрице коју сте дефинисали. Овај аргумент је обавезан / потребан аргумент.
  • Димензија: Необвезна аргументација која одређује димензију низа. Било да се ради о једнодимензионалном, дводимензионалном или вишедимензионалном низу. Подразумевано ће претпоставити једнодимензионални низ ако није наведен.

Како ова функција има само два аргумента, постаје много лакше упамтити синтаксу ове функције.

Како се користи Екцел ВБА УБоунд функција?

Научићемо како користити ВБА УБоунд функцију са неколико примера у Екцелу.

Овај ВБА УБоунд Екцел предложак можете преузети овде - ВБА УБоунд Екцел предложак

Пример # 1 - ВБА УБоунд са једнодимензионалним низом

Слиједите доље наведене кораке за кориштење функције УБоунд у ВБА.

Корак 1: На картици Девелопер кликните на Висуал Басиц да бисте отворили ВБ Едитор.

Корак 2: Кликните на Уметни и одаберите картицу Модул да бисте додали нови празан модул у ВБЕ.

Корак 3: У ВБЕ започните писати макро и одредите име променљиве.

Шифра:

 Суб Онедм_Убоунд () Дим ИндиаЦити (4) Као Стринг Енд Суб 

Овде је променљив ИндиаЦити дефинисан са 5 елемената. Тип променљиве је низ.

Напомена: Низ започиње од 0 (нула). Дакле, овај низ ће се састојати од 5 елемената.

Корак 4: Доделите вредности елементима матрице.

Шифра:

 Под Онедм_Убоунд () Дим ИндиаЦити (4) Ас Стринг ИндиаЦити (0) = "Мумбаи" ИндиаЦити (1) = "Бенгалуру" ИндиаЦити (2) = "Хидерабад" ИндиаЦити (3) = "Делхи" ИндиаЦити (4) = "Пуне "Енд Суб 

Овде нулти елемент има вредност додељену као "Мумбаи", Први елемент има вредност додељену као "Бенгалуру" и тако даље.

Корак 5: Употријебите функцију УБоунд заједно са МсгБок-ом да бисте добили горњу границу за низ.

Шифра:

 Под Онедм_Убоунд () Дим ИндиаЦити (4) Ас Стринг ИндиаЦити (0) = "Мумбаи" ИндиаЦити (1) = "Бенгалуру" ИндиаЦити (2) = "Хидерабад" ИндиаЦити (3) = "Делхи" ИндиаЦити (4) = "Пуне "МсгБок" горња граница за низ је: "& УБоунд (ИндиаЦити) крајњи пот 

Корак 6: Покрените овај код притиском на Ф5 директно или ручно притиском на дугме Рун на горњој левој плочи. Појавит ће се оквир с поруком „ Горња граница за низ је: 4 “.

Имајте на уму да функција УБоунд не проналази горњу границу од елемената Арраи-а. Једноставно открива максимални број елемената које арраи садржи.

Пример # 2 - ВБА УБоунд са дводимензионалним низом

Слиједите доље наведене кораке за кориштење функције УБоунд у ВБА.

Корак 1: Дефинишите променљиву која може садржавати дводимензионалне податке.

Шифра:

 Суб ТвоДм_УБоунд () Дим Арраи_Тест (0 до 6, 1 до 8) Ас Стринг Енд Суб 

Корак 2: Дефинишите нову променљиву поруку и користите је под МсгБок. Ова варијабла ће нам помоћи да исписујемо горње ивице обе димензије истовремено.

Шифра:

 Суб ТвоДм_УБоунд () Дим Арраи_Тест (0 до 6, 1 до 8) Као низ стринг-порука МсгБок Мессаге Енд Суб 

Корак 3: Сада испробајте следеће изјаве које омогућавају систему да исписује обе димензије матрице под истим оквиром за поруке.

Шифра:

 Суб ТвоДм_УБоунд () Дим Арраи_Тест (0 до 6, 1 до 8) Ас Стринг Дим Мессаге = "Горња граница за прву димензију је:" & УБоунд (Арраи_Тест, 1) & вбЦрЛф Мессаге = Порука & "Горња граница за другу димензију је : "& УБоунд (Арраи_Тест, 2) & вбЦрЛф МсгБок Мессаге Енд Суб 

Две изјаве поменуте у горе наведеном коду омогућавају систему да исписује обе димензије у истом пољу за поруке. Прва изјава чува вредност горње границе прве димензије у променљивој поруци и завршава линију (вбЦрЛф). Друга изјава додаје прву вредност додељену променљивој Поруци и комбинује је са горњом границом других димензија са скочном поруком.

Како се вбЦрЛф користи у обје изјаве, овдје функционише као повратни редак / пријевоз у обје изјаве.

Корак 4: Покрените код притиском на Ф5 или Рун дугме и погледајте излаз.

На сличним линијама можемо ићи до више димензија и видети горњу границу за сваку од њих.

Пример # 3 - УБоунд функција за аутоматско ажурирање података у листу

Претпоставимо да имате скуп података као што је приказано на снимку слике испод.

Ови подаци се ажурирају и сваки пут морате копирати ажуриране податке. Сада је заиста мучан посао да увијек провјерите постоје ли ажурирања података и копирате их на нови лист. То такође троши пуно времена. Можемо ли покушати да је аутоматизирамо помоћу функције УБоунд у ВБА? Хајде да видимо.

Следите доле наведене кораке за аутоматско ажурирање података на листу помоћу функције ВБА УБоунд:

Корак 1: Дефинишите променљиву креирањем макронаредбе.

Шифра:

 Суб Ек3_УБоунд () Дим ДатаУпдате () као варијанта Крај Суб 

2. корак: Активирајте радни лист који садржи ваше податке. У овом случају, лист је „ Подаци “.

Шифра:

 Суб Ек3_УБоунд () Дим ДатаУпдате () као варијантни листови ("Подаци"). Активирај Крај Суб 

Корак 3: Доделите опсег променљивој коју смо управо створили. У ту сврху ћемо користити распон активираних листова.

Шифра:

 Суб Ек3_УБоунд () Дим ДатаУпдате () као варијантни листови ("Подаци"). Активирајте ДатаУпдате = домет ("А2", распон ("А1"). Крај (клДовн). Крај (клТоРигхт)) Крај Суб 

Корак 4: Додајте нови радни лист у свој Екцел, где се ажурирани подаци могу копирати и залепити.

Шифра:

 Суб Ек3_УБоунд () Дим ДатаУпдате () као варијантни листови ("Подаци"). Активирајте ДатаУпдате = домет ("А2", домет ("А1"). Крај (клДовн). Крај (клТоРигхт)) Радни листови.Додај крај Суб 

Корак 5: Употријебите доњу линију кода која омогућава копирање и лијепљење података с листа „Подаци“ аутоматски у новоотворени екцел лист.

Шифра:

 Под Ек3_УБоунд () Дим ДатаУпдате () као варијантни листови ("Подаци"). Активирајте ДатаУпдате = домет ("А2", распон ("А1"). Крај (клДовн). Крај (клТоРигхт)) Радни листови.Додати опсег (АцтивеЦелл, АцтивеЦелл.Оффсет (УБоунд (ДатаУпдате, 1) - 1, УБоунд (ДатаУпдате, 2) - 1)) = ДатаУпдате Енд Суб 

Горњи код помера ћелије са листа „Подаци“ до горње границе које се могу добити употребљеном функцијом УБоунд и додељује опсег променљивој ДатаУпдате.

Корак 6: Покрените код притиском на Ф5 или Рун дугме и погледајте излаз.

Као што видите, у Екцеловој радној књизи додан је нови лист у коме се сви подаци са листа „Подаци“ аутоматски копирају.

Ово је динамички код. Оно што хоћу да кажем да је динамично је, иако додајем колону и редове, аутоматски ће се копирати на нови лист.

Корак 7: Додамо неке редове и ступце у податке и видимо да ли заиста раде.

Корак 8: Поново притисните дугме Покрени након ажурирања листа података и погледајте магију.

Ако видите, додаје се нови лист (обојен) и додаје се нови ступац Аге заједно са два нова реда као и на тај лист. То значи да, без обзира што ажурирамо у главној датотеци (Подаци), овај код ће аутоматски копирати све из тога и залепити га у нови лист.

Ствари које треба запамтити

  • УБоунд даје горњу границу / максималну дужину матрице, а не горњу границу из података података присутних у низу.
  • Низ увек почиње са 0- те позиције паралелно са већином програмских језика попут Ц, Ц ++, Питхон.
  • Ако је ваш низ вишедимензионалан, морате навести и аргумент димензије који узима читаве нумеричке вредности као што су 1, 2, 3, итд. 1 означава Једнодимензију, 2 за Дводимензионално итд.

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

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

  1. ВБА Сплит функција са примерима
  2. Екцел велика функција
  3. ВБА Матцх
  4. ЦЕИЛИНГ функција у Екцелу
  5. Како се користе ВБА радни листови?