VBA UBound funkcija - Kaip naudoti „UBound“ „Excel VBA“?

„UBOUND“ arba dar vadinama „Upper Bound“, ši funkcija VBA yra naudojama su priešinga funkcija, kuri yra LBOUND arba dar vadinama „Lower Bound“ funkcija. Šios funkcijos naudojimas yra apibrėžti masyvo ilgį kode ir kaip rodo pavadinimas UBOUND naudojama viršutinei masyvo ribai apibrėžti.

VBA UBOUND funkcija

Kaip pasakyti „Excel“ maksimalų masyvo ilgį? Taip, mes galime rankiniu būdu pamatyti ir atnaujinti maksimalų masyvo ilgį, bet jei visa tai darote, tada šiandien jis baigiasi, nes mes turime funkciją, vadinamą UBOUND, kad nustatytume maksimalų masyvo ilgį. Vykdykite šį straipsnį, jei norite sužinoti daugiau apie „UBOUND“ funkciją „Excel VBA“.

UBOUND reiškia viršutinę ribą. Dažnai koduodami galime reikalauti rasti maksimalų masyvo ilgį. Pavyzdžiui, „ MyResult“ (24) reiškia masyvo pavadinimą „ MyResult“ turi 25 reikšmes, nes masyvas prasideda nuo nulio, o ne nuo vieno. Taigi 24 reiškia +1, ty iš viso 25 reikšmės.

Čia maksimalus masyvo ilgis yra 24. Užuot pateikę masyvo ilgį rankiniu būdu, galime naudoti vidinę funkciją UBOUND, kad gautume maksimalų masyvo ilgį.

Kodas yra: UBOUND (MyResult), ty UBOUND (24)

Taigi „Excel VBA UBOUND“ funkcija rodo viršutinę masyvo ribą.

Kaip naudoti „VBA UBound“ funkciją programoje „Excel“?

VBA UBOUND formulė yra labai paprasta, nes ji turi tik du parametrus.

UBound (masyvo pavadinimas (, aspektas))
  • Masyvo pavadinimas: Tai yra mūsų apibrėžto masyvo pavadinimo pavadinimas. Pavyzdžiui, aukščiau pateiktame pavyzdyje „ MyResult“ yra masyvo pavadinimas.
  • (Matmuo): Jei masyvas turi daugiau nei vieną matmenį, turime nurodyti masyvo matmenį. Jei jo nepaisysite, jis pagal numatytuosius nustatymus apdoros pirmąjį aspektą.

„Excel VBA UBOUND“ funkcija yra labai naudinga nustatant kilpų ilgį vykdant kilpas.

„UBOUND“ funkcijos „Excel VBA“ pavyzdžiai

Žemiau pateikiami praktiniai VBA UBound funkcijos pavyzdžiai.

1 pavyzdys

Norėdami pradėti procesą, leiskite man parašyti paprastą kodą. Norėdami pritaikyti VBA UBOUND funkciją, atlikite šiuos veiksmus.

1 veiksmas: paleiskite „Excel“ makrokomandą ir apibrėžkite kintamojo pavadinimą.

Kodas:

Sub Ubound_Example1 () Dim ArrayLength (0–4) kaip eilutė

2 žingsnis: Aš priskirsiu reikšmes šiam masyvo pavadinimui.

Kodas:

Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Sveiki" ArrayLength (1) = "Draugas" ArrayLength (2) = "Sveiki" ArrayLength (3) = "į" ArrayLength (4) = „VBA klasės“ pabaigos sub

3 žingsnis: Dabar, naudodami pranešimų laukelį su funkcija UBOUND, pamatysime maksimalų masyvo ilgį.

Kodas:

Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Sveiki" ArrayLength (1) = "Draugas" ArrayLength (2) = "Sveiki" ArrayLength (3) = "į" ArrayLength (4) = „VBA klasės“ „MsgBox“ viršutinės ribos yra: „& UBound (ArrayLength) End Sub

4 žingsnis: paleiskite šį kodą paspausdami klavišą F5, arba taip pat galite paleisti kodą rankiniu būdu, kaip parodyta toliau pateiktoje ekrano kopijoje.

Pranešimų laukelyje bus parodytas viršutinis masyvo skaičius, kuris bus rodomas pranešimų laukelyje.

Panašiai naudodami „Excel VBA UBOUND“ funkciją, galime gauti masyvo viršutinės ribos ilgį.

2 pavyzdys - duomenų kopijavimas naudojant „Excel VBA UBOUND“ funkciją

Tarkime, kad turite duomenų sąrašą viename „Excel“ lape, kaip žemiau.

Šie duomenys bus atnaujinami kasdien, todėl kiekvieną kartą juos atnaujindami, turite nukopijuoti juos į naują lapą. Neautomatiškai atnaujinant tai užtruks daug laiko jūsų darbo vietoje, bet aš jums parodysiu paprastą makrokodą, kad tai automatizuotumėte.

1 veiksmas: sukurkite makrokomandą ir apibrėžkite masyvo kintamąjį.

Kodas:

Sub Ubound_Example2 () Dim DataRange () Kaip variantas End Sub

2 žingsnis: Dabar suaktyvinkite duomenų lapą teisėjaudami dėl jo pavadinimo.

Kodas:

Sub Ubound_Example2 () „Dim DataRange“) kaip variantų lakštai („Duomenų lapas“). Suaktyvinkite pabaigos antrinę dalį

3 žingsnis: Dabar priskirkite duomenų diapazoną apibrėžtam kintamajam naudodami toliau pateiktą kodą.

Kodas:

Sub Ubound_Example2 () Dim DataRange () Kaip variantų lentelės („Data Sheet“). Suaktyvinkite 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“) kaip variantų lentelės („Duomenų lapas“). Suaktyvinkite „DataRange“ = Diapazonas („A2“, Diapazonas („A1“). Pabaiga (xlDown). Pabaiga (xlToRight)) Darbalapiai. Pridėti diapazoną („ActiveCell“) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Ištrinti DataRange End Sub

Ką reikia atsiminti

  • UBOUND pateikia maksimalų masyvo ilgį.
  • Masyvas prasideda nuo 0, o ne nuo 1.
  • Jei norite mažesnės masyvo vertės, turite naudoti „VBA LBOUND“.
  • Jei masyvas turi daugiau nei vieną matmenį, turite nurodyti ir matmens numerį.

Įdomios straipsniai...