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

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

УБОУНД или такође позната као Уппер Боунд, ова функција у ВБА се користи са својом супротном функцијом ЛБОУНД или такође познатом као Ловер Боунд функција, употреба ове функције је дефинисање дужине низа у коду и као што назив сугерише УБОУНД користи се за дефинисање горње границе низа.

ВБА УБОУНД функција

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

УБОУНД је скраћеница од Уппер Боунд. Често пута у кодирању, можда ће нам требати да пронађемо максималну дужину низа. На пример, МиРесулт (24) значи да име низа МиРесулт садржи 25 вредности, јер низ почиње од нуле, а не од једне. Дакле, 24 значи +1, тј. Укупно 25 вредности.

Овде је максимална дужина низа 24. Уместо да ручно додељујемо дужину низа, можемо користити уграђену функцију УБОУНД да бисмо добили максималну дужину низа.

Шифра је: УБОУНД (МиРесулт), тј. УБОУНД (24)

Дакле, функција Екцел ВБА УБОУНД представља горњу границу величине низа.

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

Формула ВБА УБОУНД је врло једноставна, јер има само два параметра.

УБоунд (Арраинаме (, Дименсион))
  • Име низа : Ово је име имена низа које смо дефинисали. На пример, у горњем примеру, МиРесулт је име низа.
  • (Димензија): Ако низ има више од једне димензије, тада треба да одредимо димензију низа. Ако је занемарите, подразумевано ће третирати прву димензију.

Функција Екцел ВБА УБОУНД је врло корисна у одређивању дужине петљи током извођења петљи.

Примери функције УБОУНД у програму Екцел ВБА

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

Пример # 1

Да започнем поступак, дозволите ми да напишем једноставан код. Следите кораке у наставку да бисте применили функцију ВБА УБОУНД.

Корак 1: Покрените екцел макро и дефинишите име променљиве.

Шифра:

Суб Убоунд_Екампле1 () Дим АрраиЛенгтх (0 до 4) као низ

Корак 2: Доделићу вредности овом имену низа.

Шифра:

Суб Убоунд_Екампле1 () Дим АрраиЛенгтх (0 до 4) Као низ АрраиЛенгтх (0) = "Хи" АрраиЛенгтх (1) = "Фриенд" АрраиЛенгтх (2) = "Велцоме" АрраиЛенгтх (3) = "то" АрраиЛенгтх (4) = „ВБА Цласс“ Крај Суб

Корак 3: Сада ћемо, користећи оквир за поруке са функцијом УБОУНД, видети максималну дужину низа.

Шифра:

Суб Убоунд_Екампле1 () Дим АрраиЛенгтх (0 до 4) Као низ АрраиЛенгтх (0) = "Хи" АрраиЛенгтх (1) = "Фриенд" АрраиЛенгтх (2) = "Велцоме" АрраиЛенгтх (3) = "то" АрраиЛенгтх (4) = "ВБА Цласс" МсгБок "Уппер Боунд Ленгтх ис:" & УБоунд (АрраиЛенгтх) Енд Суб

Корак 4: Покрените овај код притиском на тастер Ф5, или га можете покренути и ручно, као што је приказано на доњем снимку екрана.

У оквиру за поруку приказат ће се горњи број низа који ће бити приказан у оквиру за поруке.

Овако користећи Екцел ВБА УБОУНД функцију, можемо добити дужину горње границе низа.

Пример # 2 - Коришћење функције Екцел ВБА УБОУНД за копирање података

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

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

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

Шифра:

Суб Убоунд_Екампле2 () Дим ДатаРанге () Као варијанта Крај Суб

Корак 2: Активирајте табелу тако што ћете одредити њено име.

Шифра:

Суб Убоунд_Екампле2 () Дим ДатаРанге () Као листови варијанти („Лист са подацима“). Активирајте Крај Суб

Корак 3: Сада доделите опсег података дефинисаној променљивој помоћу доњег кода.

Шифра:

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

Step 4: Now add a new worksheet to the workbook.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add End Sub

Step 5: Now add the data to the newly added sheet by using the Excel VBA UBOUND function in the form of the below code.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add Range(ActiveCell, ActiveCell.Offset(UBound(DataRange, 1) - 1, UBound(DataRange, 2) - 1)) = DataRange End Sub

The above code will offset the cells by the maximum length returned by the UBOUND function, and this range will be equal to the value of the array name “DataRange.

Step 6: Now run this code. It will paste the value to the new sheet.

This code is a dynamic one because even when the data increases horizontally and vertically, it will automatically take the range. Now I will add some dummy lines to the data.

Now I will once again run this code. It will now add the newly added lines as well.

Code:

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

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

  • УБОУНД враћа максималну дужину низа.
  • Низ почиње од 0, а не од 1.
  • Ако желите нижу вредност низа, онда морате да користите ВБА ЛБОУНД.
  • Ако низ има више од једне димензије, тада треба да наведете и број димензије.

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