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

Lang L: none (table-of-contents)

UBOUND või tuntud ka kui ülemine seotud, 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 koodis oleva massiivi pikkus ja nagu nimigi ütleb UBOUND 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 samal ajal, siis täna on see 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 selles 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. Selle asemel, et massiivi pikkust käsitsi sisestada, võime massiivi maksimaalse pikkuse saamiseks kasutada sisseehitatud funktsiooni UBOUND.

Kood on: UBOUND (MyResult), st 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 (, dimensioon))
  • 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, siis peame määrama massiivi dimensiooni. Kui te seda ignoreerite, käsitleb see vaikimisi esimest dimensiooni.

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.

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: nüüd, kasutades funktsiooni UBOUND sõnumikasti, näeme massiivi maksimaalset pikkust.

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" 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 selle automatiseerimiseks näitan teile 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

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 () 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 rohkem kui üks dimensioon, peate määrama ka dimensiooni numbri.

Huvitavad Artiklid...