VBA vezana funkcija - Kako koristiti UBound u Excelu VBA?

UBOUND ili također poznata kao Upper Bound, ova funkcija u VBA koristi se sa svojom suprotnom funkcijom LBOUND ili također poznatom kao Lower Bound funkcija, upotreba ove funkcije je definiranje duljine niza u kodu i kao što naziv sugerira UBOUND koristi se za definiranje gornje granice niza.

VBA UBOUND funkcija

Kako prepoznati maksimalnu duljinu niza u Excelu? Da, možemo ručno vidjeti i ažurirati maksimalnu duljinu niza, ali ako to sve radite dok je, danas je to kraj, jer imamo funkciju koja se zove UBOUND za određivanje maksimalne duljine niza. Slijedite ovaj članak da biste saznali više o funkciji UBOUND u programu Excel VBA.

UBOUND je skraćenica od Upper Bound. Često puta u kodiranju, možda će nam trebati pronaći maksimalnu duljinu niza. Na primjer, MyResult (24) znači da ime niza MyResult sadrži 25 vrijednosti, jer niz započinje od nule, a ne od jedne. Dakle, 24 znači +1, tj. Ukupno 25 vrijednosti.

Ovdje je maksimalna duljina niza 24. Umjesto da ručno dostavljamo duljinu polja, možemo koristiti ugrađenu funkciju UBOUND da bismo dobili maksimalnu duljinu niza.

Kôd je: UBOUND (MyResult), tj. UBOUND (24)

Dakle, funkcija Excel VBA UBOUND predstavlja gornju granicu veličine polja.

Kako koristiti funkciju VBA UBound u programu Excel?

Formula VBA UBOUND vrlo je jednostavna jer ima samo dva parametra.

UBound (Ime polja (, dimenzija))
  • Naziv polja: Ovo je ime imena polja koje smo definirali. Na primjer, u gornjem primjeru MyResult je ime niza.
  • (Dimenzija): Ako niz ima više od jedne dimenzije, tada moramo odrediti dimenziju niza. Ako ga zanemarite, zadano će tretirati prvu dimenziju.

Funkcija Excel VBA UBOUND vrlo je korisna u određivanju duljine petlji tijekom izvođenja petlji.

Primjeri funkcije UBOUND u programu Excel VBA

Ispod su praktični primjeri funkcije VBA UBound.

Primjer # 1

Da započnem postupak, dopustite mi da napišem jednostavan kod. Slijedite korake u nastavku da biste primijenili funkciju VBA UBOUND.

Korak 1: Pokrenite excel makronaredbu i definirajte ime varijable.

Kodirati:

Sub Ubound_Example1 () Dim ArrayLength (0 do 4) kao niz

Korak 2: Dodijelit ću vrijednosti ovom nazivu niza.

Kodirati:

Sub Ubound_Example1 () Dim ArrayLength (0 do 4) Kao niz ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = Kraj VBA "VBA klase"

Korak 3: Sada ćemo pomoću okvira za poruke s funkcijom UBOUND vidjeti maksimalnu duljinu niza.

Kodirati:

Sub Ubound_Example1 () Dim ArrayLength (0 do 4) Kao niz ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" MsgBox "Gornja granica duljine je:" & UBound (ArrayLength) End Sub

Korak 4: Pokrenite ovaj kôd pritiskom na tipku F5, a možete ga pokrenuti i ručno, kao što je prikazano na donjoj snimci zaslona.

Okvir za poruku prikazat će vam gornji ograničeni broj polja koji će biti prikazan u okviru za poruke.

Poput ove pomoću funkcije Excel VBA UBOUND, možemo dobiti duljinu gornje granice niza.

Primjer # 2 - Korištenje Excel VBA UBOUND funkcije za kopiranje podataka

Pretpostavimo da imate popis podataka u jednom excel listu poput donjeg.

Ti će se podaci ažurirati svakodnevno i morate ih kopirati na novi list svaki put kada se ažuriraju. Ručno ažuriranje potrajat će prilično vremena na vašem radnom mjestu, ali pokazat ću vam jednostavan makro kod koji će to automatizirati.

Korak 1: Stvorite makronaredbu i definirajte varijablu niza.

Kodirati:

Sub Ubound_Example2 () Dim DataRange () Kao varijanta Kraj Sub

Korak 2: Sada aktivirajte podatkovni list tako što ćete odrediti njegovo ime.

Kodirati:

Sub Ubound_Example2 () Dim DataRange () Kao listovi varijanti ("Data Sheet"). Aktivirajte End Sub

Korak 3: Sada dodijelite raspon podataka definiranoj varijabli pomoću donjeg koda.

Kodirati:

Sub Ubound_Example2 () Dim DataRange () Kao listovi varijanti ("Data Sheet"). Aktivirajte DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub

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:

Sub Ubound_Example2 () Dim DataRange () Kao listovi varijanti ("Data Sheet"). Aktivirajte DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add Range (ActiveCell) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Erase DataRange End Sub

Stvari koje treba zapamtiti

  • UBOUND vraća maksimalnu duljinu niza.
  • Niz započinje od 0, a ne od 1.
  • Ako želite nižu vrijednost niza, tada morate koristiti VBA LBOUND.
  • Ako niz ima više dimenzija, tada morate navesti i broj dimenzije.

Zanimljivi članci...