VBA UBound funkció - Az UBound használata az Excel VBA-ban?

Tartalomjegyzék

UBOUND vagy más néven Upper Bound, ezt a funkciót a VBA-ban az ellentétes függvényével használják, amely az LBOUND vagy más néven Lower Bound függvény, ennek a funkciónak az a célja, hogy meghatározza egy tömb hosszát egy kódban, és ahogy a neve is sugallja az UBOUND a tömb felső határának meghatározására szolgál.

VBA UBOUND funkció

Hogyan mondhatja el a tömb maximális hosszát az excelben? Igen, manuálisan láthatjuk és frissíthetjük a tömb maximális hosszát, de ha mindezt közben végzi, akkor ma ennek vége van, mert van egy UBOUND nevű függvényünk a tömb maximális hosszának meghatározásához. Kövesse ezt a cikket, ha többet szeretne megtudni az Excel VBA UBOUND funkciójáról.

Az UBOUND a felső kötést jelenti. Gyakran előfordulhat, hogy a kódolás során meg kell találnunk a tömb maximális hosszát. Például MyResult (24) segítségével tömb nevét MyResult tart 25 értékeket, mert a tömb nulláról indul, nem pedig egy. Tehát a 24 +1, azaz összesen 25 értéket jelent.

Itt a tömb maximális hossza 24. A tömbhossz kézi megadása helyett a beépített UBOUND függvényt használhatjuk a tömb maximális hosszának megszerzéséhez.

A kód: UBOUND (MyResult), azaz UBOUND (24)

Tehát az Excel VBA UBOUND függvény a tömb méretének felső határát képviseli.

Hogyan kell használni a VBA UBound funkciót az Excelben?

A VBA UBOUND képlete nagyon egyszerű, mert csak két paramétere van hozzá.

UBound (tömb neve (, dimenzió))
  • Tömb neve: Ez a tömb neve, amelyet definiáltunk. Például a fenti példában a MyResult a tömb neve.
  • (Dimenzió): Ha a tömbnek több dimenziója van, akkor meg kell adnunk a tömb dimenzióját. Ha figyelmen kívül hagyja, alapértelmezés szerint az első dimenziót kezeli.

Az Excel VBA UBOUND függvény nagyon hasznos a ciklusok hosszának meghatározásához a hurkok futtatása közben.

Példák az UBOUND funkcióra az Excel VBA-ban

Az alábbiakban bemutatjuk a VBA UBound függvény gyakorlati példáit.

1. példa

Az eljárás megkezdéséhez hadd írjam meg az egyszerű kódot. Kövesse az alábbi lépéseket a VBA UBOUND funkció alkalmazásához.

1. lépés: Indítsa el az excel makrót, és adja meg a változó nevét.

Kód:

Sub Ubound_Example1 () Dim ArrayLength (0 - 4) mint karakterlánc

2. lépés: Értékeket rendelek ehhez a tömbnévhöz.

Kód:

Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA osztály" End Sub

3. lépés: Most az UBOUND funkcióval rendelkező üzenetdobozt használva megnézzük a tömb maximális hosszát.

Kód:

Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA osztály" MsgBox "felső kötéshossz:" & UBound (tömbhossz) Végső alhossz

4. lépés: Futtassa ezt a kódot az F5 billentyű lenyomásával, vagy manuálisan is futtathatja a kódot, amint az az alábbi képernyőképen látható.

Az üzenetmező megmutatja a tömb felső határszámát, amely az üzenetmezőben jelenik meg.

Így az Excel VBA UBOUND függvény segítségével megkapjuk egy tömb felső határhosszát.

2. példa - Az Excel VBA UBOUND függvény használata az adatok másolásához

Tegyük fel, hogy van egy adatlistája egy excel lapon, mint az alábbiakban.

Ezeket az adatokat naponta frissítjük, és minden alkalommal, amikor frissül, át kell másolnia ezeket az adatokat. Ennek manuális frissítése jelentős időt vesz igénybe a munkahelyén, de megmutatok egy egyszerű makrokódot ennek automatizálásához.

1. lépés: Hozzon létre egy makrót, és határozza meg a tömb változót.

Kód:

Sub Ubound_Example2 () Dim DataRange () Mint Variant End Sub

2. lépés: Most aktiválja az adatlapot a nevének megítélésével.

Kód:

Sub Ubound_Example2 () Dim DataRange () Variant Sheets ("Data Sheet") néven.

3. lépés: Most az alábbi kód segítségével rendelje hozzá az adattartományt a meghatározott változóhoz.

Kód:

Sub Ubound_Example2 () Dim DataRange () Variant Sheets ("Data Sheet"). Aktiválja a 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 () Variant Sheets ("Data Sheet"). Aktiválja a DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) munkalapokat. Add Range (ActiveCell) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Törlés DataRange End Sub

Dolgok, amikre emlékezni kell

  • Az UBOUND a tömb maximális hosszát adja vissza.
  • A tömb 0-tól kezdődik, nem 1-től.
  • Ha a tömb alacsonyabb értékét akarja, akkor a VBA LBOUND-ot kell használnia.
  • Ha a tömbnek több dimenziója van, akkor meg kell adnia a dimenzió számát is.

érdekes cikkek...