VBA seonduv funktsioon | Kuidas kasutada UBoundi Exceli VBA-s?

UBOUND või tuntud ka kui ülemine köide, seda funktsiooni VBA-s kasutatakse selle vastupidise funktsiooniga, mis on LBOUND või tuntud ka kui madalam seotud funktsioon. Selle funktsiooni eesmärk on määratleda massiivi pikkus koodis ja nagu nimigi ütleb kasutatakse massiivi ülemise piiri määratlemiseks.

Funktsioon VBA UBOUND

Kuidas saate Excelis öelda massiivi maksimaalse pikkuse? Jah, me saame massiivi maksimaalset pikkust käsitsi vaadata ja värskendada, kuid kui teete seda kõike, siis täna on selle lõpp, sest massiivi maksimaalse pikkuse määramiseks on meil funktsioon nimega UBOUND. Järgige seda artiklit, et saada rohkem teavet funktsiooni UBOUND kohta Exceli VBA-s.

UBOUND tähistab Ülempiiratud. Sageli võime kodeerimisel nõuda massiivi maksimaalse pikkuse leidmist. Näiteks tähendab MyResult (24) massiivi nime, mille MyResult hoiab 25 väärtust, kuna massiiv algab nullist, mitte ühest. Nii et 24 tähendab +1, st kokku 25 väärtust.

Siin on massiivi maksimaalne pikkus 24, massiivi pikkuse käsitsi sisestamise asemel võime massiivi maksimaalse pikkuse saamiseks kasutada sisseehitatud funktsiooni UBOUND.

Kood on: UBOUND (MyResult)  ehk UBOUND (24)

Nii et funktsioon Excel VBA UBOUND tähistab massiivi suuruse ülemist piiri.

Kuidas kasutada Excelis funktsiooni VBA UBound?

VBA UBOUND valem on väga lihtne, kuna sellel on ainult kaks parameetrit.

UBound (massiivi nimi [, mõõde])
  • Massiivi nimi: see on meie määratletud massiivi nimi. Näiteks ülaltoodud näites on MyResult massiivi nimi.
  • [Dimensioon]: kui massiivil on rohkem kui üks mõõde, peame määrama massiivi dimensiooni. Kui te seda ignoreerite, käsitleb see esimest dimensiooni vaikimisi.

Excel VBA UBOUND funktsioon on silmuste käitamise ajal silmuste pikkuse määramisel väga kasulik.

UBOUND-funktsiooni näited Exceli VBA-s

Allpool on toodud VBA UBound-funktsiooni praktilised näited.

Selle VBA UBound Function Templati saate alla laadida siit - VBA UBound Function Template

Näide 1

Menetluse alustamiseks lubage mul kirjutada lihtne kood. Funktsiooni VBA UBOUND rakendamiseks toimige järgmiselt.

1. samm: käivitage Exceli makro ja määrake muutuja nimi.

Kood:

 Sub Ubound_Example1 () Dim ArrayLength (0 kuni 4) stringina 

2. samm: määran sellele massiivi nimele väärtused.

Kood:

 Sub Ubound_Example1 () Dim ArrayLength (0 to 4) Stringina ArrayLength (0) = "Tere" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA klassi" lõpuosa 

3. samm: UBOUND funktsiooniga sõnumikasti kasutades näeme massiivi maksimaalset pikkust.

Kood:

 Sub Ubound_Example1 () Dim ArrayLength (0 kuni 4) Stringina ArrayLength (0) = "Tere" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA klassi" MsgBox "ülemise seose pikkus on:" & UBound (ArrayLength) End Sub 

4. samm: käivitage see kood, vajutades klahvi F5, või saate koodi käivitada ka käsitsi, nagu on näidatud alloleval ekraanipildil.

sõnumikast näitab teile massiivi ülemist numbrit, mis kuvatakse sõnumikastis.

Nii saate funktsiooni Exceli VBA UBOUND abil saada massiivi ülemise piiri pikkuse.

Näide # 2 - andmete kopeerimiseks funktsiooni Excel VBA UBOUND kasutamine

Oletame, et teil on ühes Exceli lehes andmete loend nagu allpool.

Neid andmeid värskendatakse iga päev ja peate need iga kord värskendamisel uude lehele kopeerima. Selle käsitsi värskendamine võtab teie töökohal palju aega, kuid ma näitan teile selle automatiseerimiseks lihtsat makrokoodi.

1. samm: looge makro ja määrake massiivi muutuja.

Kood:

 Sub Ubound_Example2 () Dim DataRange () Variant End Sub 

2. samm: nüüd aktiveerige andmeleht selle nime nimel kohtunikuna.

Kood:

 Sub Ubound_Example2 () Dim DataRange () Variantlehtedena ("Data Sheet"). Aktiveerige End Sub 

3. samm: määrake nüüd määratletud muutujale andmevahemik, kasutades järgmist koodi.

Kood:

 Sub Ubound_Example2 () Dim DataRange () Variantlehtedena ("Data Sheet"). Aktiveerige DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub 

4. samm: lisage nüüd töövihikule uus tööleht.

Kood:

 Sub Ubound_Example2 () Dim DataRange () Variantlehtedena ("Data Sheet"). Aktiveerige DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) töölehed. Lisage End Sub 

5. samm: lisage nüüd andmed äsja lisatud lehele, kasutades funktsiooni Excel VBA UBOUND allpool oleva koodi kujul.

Kood:

 Sub Ubound_Example2 () Dim DataRange () Variantlehtedena ("Data Sheet"). Aktiveerige DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) töölehed.Lisage vahemik (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange End Sub 

Ülaltoodud kood kompenseerib lahtrid funktsiooni UBOUND tagastatud maksimaalse pikkusega ja see vahemik võrdub massiivi nime " DataRange " väärtusega

6. samm: käivitage nüüd see kood, see kleebib väärtuse uuele lehele.

See kood on dünaamiline, sest isegi kui andmed suurenevad horisontaalselt ja vertikaalselt, võtab see automaatselt vahemiku. Nüüd lisan andmetele mõned näiv read.

Nüüd käivitan selle koodi uuesti, see lisab nüüd ka äsja lisatud read.

Kood:

 Sub Ubound_Example2 () Dim DataRange () Variantlehtedena ("Data Sheet"). Aktiveerige DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) töölehed. Lisage vahemik (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Kustuta DataRange End Sub 

Asjad, mida meeles pidada

  • UBOUND tagastab massiivi maksimaalse pikkuse.
  • Massiiv algab 0-st, mitte 1-st.
  • Kui soovite massiivi madalamat väärtust, peate kasutama VBA LBOUND.
  • Kui massiivil on mitu dimensiooni, peate määrama ka dimensiooni numbri.

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