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

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 funktio, 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ää matriisin enimmäispituuden manuaalisesti, mutta jos teet sen kaiken, niin tänään on sen loppu, koska meillä on UBOUND-niminen toiminto taulukon maksimipituuden määrittämiseksi. Seuraa tätä artikkelia saadaksesi lisää tietoa UBOUND-toiminnosta Excel VBA: ssa.

UBOUND tarkoittaa Ylärajaa. Usein koodauksessa saatamme joutua löytämää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)  eli 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ä taulukon ulottuvuus. Jos jätät huomiotta, se käsittelee oletuksena ensimmäistä ulottuvuutta.

Excel VBA UBOUND -toiminto on erittäin hyödyllinen silmukoiden pituuden määrittämisessä silmukoita suoritettaessa.

Esimerkkejä UBOUND-toiminnoista Excel VBA: ssa

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

Voit ladata tämän VBA UBound -toimintomallin täältä - VBA UBound Function Template

Esimerkki 1

Haluan aloittaa 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: Nyt käyttämällä UBOUND-toimintoa sisältävää viestiruutua näemme ryhmän maksimipituuden.

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 alla olevan kuvakaappauksen mukaisesti.

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.

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 () muunnelmasivuina ("Data Sheet"). Aktivoi DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub 

Vaihe 4: Lisää nyt uusi laskentataulukko työkirjaan.

Koodi:

 Sub Ubound_Example2 () Dim DataRange () Vaihtoehtoarkkeina ("Data Sheet"). Aktivoi DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) laskentataulukot.Lisää End Sub 

Vaihe 5: Lisää nyt tiedot juuri lisättyyn taulukkoon käyttämällä Excel VBA UBOUND -funktiota alla olevan koodin muodossa.

Koodi:

 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 End Sub 

Yllä oleva koodi korvaa solut UBOUND-toiminnon palauttamalla enimmäispituudella, ja tämä alue on yhtä suuri kuin taulukon nimen " DataRange " arvo

Vaihe 6: Suorita nyt tämä koodi, ja se liittää arvon uudelle arkille.

Tämä koodi on dynaaminen, koska vaikka data kasvaa vaaka- ja pystysuunnassa, se ottaa automaattisesti alueen. Lisään nyt dataan joitain nukkeja.

Suoritan nyt tämän koodin jälleen, se lisää nyt myös uudet rivit.

Koodi:

 Sub Ubound_Example2 () Dim DataRange () muunnelmasivuina ("Data Sheet"). Aktivoi DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) laskentataulukot.Add Range (ActiveCell) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Poista DataRange End Sub 

Muistettavaa

  • UBOUND palauttaa matriisin enimmäispituuden.
  • Matriisi alkaa 0: sta, 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.

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