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 nustatyti masyvo ilgį kode ir kaip rodo pavadinimas UBOUND naudojama viršutinei masyvo ribai apibrėžti.

VBA UBOUND funkcija

Kaip pasakyti maksimalų masyvo ilgį „Excel“? Taip, mes galime rankiniu būdu pamatyti ir atnaujinti maksimalų masyvo ilgį, bet jei visa tai darote, o šiandien tai yra jo pabaiga, nes mes turime funkciją, vadinamą UBOUND, kad nustatytume maksimalų masyvo ilgį. Vykdykite šį straipsnį, kad sužinotumėte 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šmes.

Čia maksimalus masyvo ilgis yra 24, užuot pateikę masyvo ilgį rankiniu būdu, mes galime naudoti įmontuotą 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.
  • [Dimensija]: Jei masyvas turi daugiau nei vieną matmenį, turime nurodyti masyvo matmenį. Jei nepaisysite, tai 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.

Šį VBA UBound funkcijų šabloną galite atsisiųsti čia - VBA UBound Function Template

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 žemiau esančioje 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 viršutinę masyvo ribą.

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ą, atsižvelgdami į jo pavadinimą.

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 

4 žingsnis: Dabar pridėkite naują darbalapį prie darbaknygės.

Kodas:

 Sub Ubound_Example2 () Dim DataRange () Kaip variantų lapai („Data Sheet“). Suaktyvinkite DataRange = Range („A2“, Range („A1“). End (xlDown) .End (xlToRight)) darbalapius. Pridėti pabaigos antrinę 

5 žingsnis: Dabar pridėkite duomenis prie naujai pridėto lapo naudodami „Excel VBA UBOUND“ funkciją žemiau esančio kodo forma.

Kodas:

 Sub Ubound_Example2 () Dim DataRange () Kaip variantų lentelės („Data Sheet“). Suaktyvinkite DataRange = Range („A2“, Range („A1“). End (xlDown) .End (xlToRight)) darbalapius.Pridėkite diapazoną („ActiveCell“) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange End Sub 

Aukščiau pateiktas kodas kompensuos langelius maksimaliu ilgiu, kurį grąžina funkcija UBOUND, ir šis diapazonas bus lygus masyvo pavadinimo „ DataRangevertei

6 žingsnis: Dabar paleiskite šį kodą, jis įklijuos vertę į naują lapą.

Šis kodas yra dinamiškas, nes net tada, kai duomenys didėja horizontaliai ir vertikaliai, jis automatiškai imsis diapazono. Dabar prie duomenų pridėsiu keletą manekeno eilučių.

Dabar aš dar kartą paleisiu šį kodą, jis taip pat pridės naujai pridėtas eilutes.

Kodas:

 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ą aspektą, turite nurodyti ir matmens numerį.

$config[zx-auto] not found$config[zx-overlay] not found