Funkcija VBA UBound - Kako uporabiti UBound v Excelu VBA?

UBOUND ali znana tudi kot Upper Bound, ta funkcija v VBA se uporablja z njeno nasprotno funkcijo LBOUND ali pa je znana tudi kot Lower Bound funkcija, uporaba te funkcije je določitev dolžine polja v kodi in kot že ime pove UBOUND se uporablja za določitev zgornje meje polja.

Funkcija VBA UBOUND

Kako ugotovite največjo dolžino polja v Excelu? Da, ročno lahko vidimo in posodobimo največjo dolžino matrike, če pa to počnete medtem, je danes konec, ker imamo funkcijo UBOUND, ki določa največjo dolžino matrike. Sledite temu članku, če želite več znanja o funkciji UBOUND v Excelu VBA.

UBOUND pomeni zgornja meja. Pogosto pri kodiranju bomo morda morali najti največjo dolžino polja. Na primer, MyResult (24) pomeni, da ime polja MyResult vsebuje 25 vrednosti, ker se polje začne od nič, ne od ene. Torej 24 pomeni +1, torej skupno 25 vrednosti.

Tu je največja dolžina polja 24. Namesto da dolžino polja damo ročno, lahko z vgrajeno funkcijo UBOUND dobimo največjo dolžino polja.

Koda je: UBOUND (MyResult), tj. UBOUND (24)

Torej funkcija Excel VBA UBOUND predstavlja zgornjo mejo velikosti polja.

Kako uporabiti funkcijo VBA UBound v Excelu?

Formula VBA UBOUND je zelo preprosta, saj ima le dva parametra.

UBound (ime matrike (, dimenzija))
  • Ime polja: To je ime imena polja, ki smo ga definirali. Na primer, v zgornjem primeru je MyResult ime polja.
  • (Dimenzija): Če ima polje več kot eno dimenzijo, moramo določiti dimenzijo matrike. Če ga prezrete, bo privzeto obravnaval prvo dimenzijo.

Funkcija Excel VBA UBOUND je zelo koristna pri določanju dolžine zank med izvajanjem zank.

Primeri funkcije UBOUND v Excelu VBA

Spodaj so praktični primeri funkcije VBA UBound.

Primer # 1

Za začetek postopka naj napišem preprosto kodo. Za uporabo funkcije VBA UBOUND sledite spodnjim korakom.

1. korak: Zaženite makro excel in določite ime spremenljivke.

Koda:

Sub Ubound_Example1 () Dim ArrayLength (0 do 4) kot niz

2. korak: Temu imenu matrike bom dodelil vrednosti.

Koda:

Sub Ubound_Example1 () Dim ArrayLength (0 do 4) Kot niz ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" End Sub

3. korak: Zdaj bomo s pomočjo sporočilnega polja s funkcijo UBOUND videli največjo dolžino polja.

Koda:

Sub Ubound_Example1 () Dim ArrayLength (0 do 4) Kot niz ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" MsgBox "Upper Bound Length is:" & UBound (ArrayLength) End Sub

4. korak: Zaženite to kodo s pritiskom na tipko F5, lahko pa jo zaženete tudi ročno, kot je prikazano na spodnjem posnetku zaslona.

V polju za sporočilo se prikaže zgornja številka polja, ki bo prikazana v polju za sporočila.

Tako kot s pomočjo funkcije Excel VBA UBOUND lahko dobimo dolžino zgornje meje polja.

2. primer - Uporaba funkcije Excel VBA UBOUND za kopiranje podatkov

Predpostavimo, da imate seznam podatkov v enem Excelovem listu, kot je spodnji.

Ti podatki se bodo posodabljali vsak dan in te podatke morate kopirati na nov list vsakič, ko se posodobi. Ročno posodabljanje bo trajalo precej časa na vašem delovnem mestu, vendar vam bom pokazal preprosto makro kodo za avtomatizacijo.

1. korak: Ustvarite makro in določite spremenljivko polja.

Koda:

Sub Ubound_Example2 () Dim DataRange () Kot različica End Sub

Korak 2: Zdaj aktivirajte podatkovni list, tako da določite njegovo ime.

Koda:

Sub Ubound_Example2 () Dim DataRange () Kot listi različic ("Podatkovni list"). Aktivirajte End Sub

3. korak: Zdaj dodelite obseg podatkov definirani spremenljivki z uporabo spodnje kode.

Koda:

Sub Ubound_Example2 () Dim DataRange () Kot listi različic ("Podatkovni list"). Aktivirajte DataRange = obseg ("A2", obseg ("A1"). Konec (xlDown). End (xlToRight)) Konec 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 () Kot listi različic ("Data Sheet"). Aktivirajte DataRange = obseg ("A2", obseg ("A1"). Konec (xlDown). End (xlToRight)) Delovni listi. Dodaj obseg (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Erase DataRange End Sub

Stvari, ki si jih je treba zapomniti

  • UBOUND vrne največjo dolžino polja.
  • Matrika se začne od 0, ne od 1.
  • Če želite nižjo vrednost matrike, morate uporabiti VBA LBOUND.
  • Če ima polje več kot eno dimenzijo, morate določiti tudi številko dimenzije.

Zanimive Članki...