VBA UBound -toiminto - Kuinka käyttää UBoundia Excel VBA: ssa?

Sisällysluettelo

UBOUND tai tunnetaan myös nimellä Ylempi sidottu, tätä VBA: n toimintoa käytetään sen vastakkaisen toiminnon kanssa, joka on LBOUND tai joka tunnetaan myös nimellä Alempi sidottu toiminto. Tämän toiminnon tarkoituksena on määrittää koodin matriisin pituus ja kuten nimi viittaa UBOUND: iin käytetään määrittelemään matriisin yläraja.

VBA UBOUND -toiminto

Kuinka kerrot taulukon enimmäispituuden Excelissä? Kyllä, voimme nähdä ja päivittää taulukon enimmäispituuden manuaalisesti, mutta jos teet sen kaiken tämän ajan, niin tänään on sen loppu, koska meillä on UBOUND-niminen toiminto taulukon enimmäispituuden määrittämiseksi. Seuraa tätä artikkelia saadaksesi lisää tietoa UBOUND-toiminnosta Excel VBA: ssa.

UBOUND tarkoittaa Ylärajaa. Usein koodauksessa saatamme joutua etsimään taulukon maksimipituuden. Esimerkiksi MyResult (24) tarkoittaa taulukon nimeä, jonka MyResult pitää sisällään 25 arvoa, koska matriisi alkaa nollasta, ei yhdestä. Joten 24 tarkoittaa +1, eli yhteensä 25 arvoa.

Tässä matriisin enimmäispituus on 24. Sen sijaan, että annat matriisin pituuden manuaalisesti, voimme käyttää sisäänrakennettua toimintoa UBOUND saadaksesi matriisin maksimipituuden.

Koodi on: UBOUND (MyResult), ts. UBOUND (24)

Joten Excel VBA UBOUND -toiminto edustaa taulukon koon ylärajaa.

Kuinka käyttää VBA UBound -toimintoa Excelissä?

VBA UBOUND -kaava on hyvin yksinkertainen, koska sillä on vain kaksi parametria.

UBound (taulukon nimi (, ulottuvuus))
  • Taulukon nimi: Tämä on määrittelemämme taulukon nimi. Esimerkiksi yllä olevassa esimerkissä MyResult on taulukon nimi.
  • (Dimension): Jos matriisilla on enemmän kuin yksi ulottuvuus, meidän on määritettävä matriisin ulottuvuus. Jos jätät sen huomiotta, se käsittelee ensimmäistä ulottuvuutta oletusarvoisesti.

Excel VBA UBOUND -toiminto on erittäin hyödyllinen määritettäessä silmukoiden pituutta silmukoita suoritettaessa.

Esimerkkejä UBOUND-toiminnoista Excel VBA: ssa

Alla on käytännön esimerkkejä VBA UBound -toiminnosta.

Esimerkki 1

Aloitan menettelyn kirjoittamalla yksinkertaisen koodin. Seuraa VBA UBOUND -toimintoa noudattamalla seuraavia vaiheita.

Vaihe 1: Käynnistä Excel-makro ja määritä muuttujan nimi.

Koodi:

Sub Ubound_Example1 () Dim ArrayLength (0-4) merkkijonona

Vaihe 2: Määritän arvot tälle taulukon nimelle.

Koodi:

Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Hei" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA-luokan" loppuosa

Vaihe 3: Näet nyt taulukon maksimipituuden käyttämällä UBOUND-toiminnon sisältävää viestiruutua.

Koodi:

Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Hei" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA-luokan" MsgBox "ylärajan pituus on:" & UBound (ArrayLength) End Sub

Vaihe 4: Suorita tämä koodi painamalla F5-näppäintä tai voit suorittaa koodin myös manuaalisesti, kuten alla olevassa kuvakaappauksessa näkyy.

Viestiruudussa näkyy taulukon ylärajan numero, joka näkyy viestiruudussa.

Tällä tavoin käyttämällä Excel VBA UBOUND -toimintoa voimme saada matriisin ylärajan.

Esimerkki # 2 - Excel VBA UBOUND -toiminnon käyttäminen tietojen kopioimiseen

Oletetaan, että sinulla on luettelo tiedoista yhdessä Excel-taulukossa, kuten alla olevassa.

Nämä tiedot päivitetään päivittäin, ja sinun on kopioitava nämä tiedot uudelle arkille aina, kun ne päivitetään. Tämän päivittäminen manuaalisesti vie paljon aikaa työpaikallasi, mutta näytän sinulle yksinkertaisen makrokoodin tämän automatisoimiseksi.

Vaihe 1: Luo makro ja määritä taulukon muuttuja.

Koodi:

Sub Ubound_Example2 () Dim DataRange () Vaihtoehtona End Sub

Vaihe 2: Aktivoi nyt tietolomake tuomitsemalla sen nimeä.

Koodi:

Sub Ubound_Example2 () Dim DataRange () Vaihtoehtoarkkeina ("Data Sheet"). Aktivoi End Sub

Vaihe 3: Määritä nyt tietoalue määritellylle muuttujalle käyttämällä alla olevaa koodia.

Koodi:

Sub Ubound_Example2 () Dim DataRange () Vaihtoehtoarkkeina ("Data Sheet"). Aktivoi 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 () muunnelmasivuina ("Data Sheet"). Aktivoi DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) laskentataulukot.Lisää Range (ActiveCell) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Poista DataRange End Sub

Muistettavaa

  • UBOUND palauttaa matriisin maksimipituuden.
  • Taulukko alkaa nollasta, ei 1: stä.
  • Jos haluat matriisin pienemmän arvon, sinun on käytettävä VBA LBOUND.
  • Jos matriisissa on enemmän kuin yksi ulottuvuus, sinun on määritettävä myös ulottuvuuden numero.

Mielenkiintoisia artikkeleita...