VBA nesaistītā funkcija - Kā lietot UBound programmā Excel VBA?

Satura rādītājs

UBOUND vai arī pazīstams kā Upper Bound, šī funkcija VBA tiek izmantota ar pretējo funkciju, kas LBOUND vai arī pazīstama kā funkcija Lower Bound, šīs funkcijas izmantošana ir noteikt masīva garumu kodā un kā norāda nosaukums UBOUND tiek izmantots masīva augšējās robežas noteikšanai.

Funkcija VBA UBOUND

Kā jūs zināt Excel maksimālo masīva garumu? Jā, mēs varam manuāli redzēt un atjaunināt masīva maksimālo garumu, bet, ja jūs to visu darāt, kamēr šodien tas ir beidzies, jo mums ir funkcija ar nosaukumu UBOUND, lai noteiktu maksimālo masīva garumu. Izpildiet šo rakstu, lai iegūtu plašākas zināšanas par funkciju UBOUND programmā Excel VBA.

UBOUND nozīmē Upper Bound. Bieži vien kodēšanas laikā mums var būt nepieciešams atrast maksimālo masīva garumu. Piemēram, MyResult (24) nozīmē, ka masīva nosaukums MyResult satur 25 vērtības, jo masīvs sākas no nulles, nevis no viena. Tātad 24 nozīmē +1, ti, kopā 25 vērtības.

Šeit masīva maksimālais garums ir 24. Tā vietā, lai masīva garumu piegādātu manuāli, mēs varam izmantot iebūvēto funkciju UBOUND, lai iegūtu maksimālo masīva garumu.

Kods ir: UBOUND (MyResult), ti, UBOUND (24)

Tātad funkcija Excel VBA UBOUND attēlo masīva lieluma augšējo robežu.

Kā programmā Excel izmantot VBA UBound funkciju?

VBA UBOUND formula ir ļoti vienkārša, jo tai ir tikai divi parametri.

UBound (masīva nosaukums (, dimensija))
  • Masīva nosaukums: Tas ir mūsu definētā masīva nosaukuma nosaukums. Piemēram, iepriekš minētajā piemērā MyResult ir masīva nosaukums.
  • (Dimension): Ja masīvam ir vairāk nekā viena dimensija, tad mums jānorāda masīva dimensija. Ja jūs to ignorēsit, tā pēc noklusējuma apstrādās pirmo kategoriju.

Excel VBA UBOUND funkcija ir ļoti noderīga, lai noteiktu cilpu garumu, palaižot cilpas.

UBOUND funkcijas piemēri programmā Excel VBA

Zemāk ir sniegti praktiskie VBA UBound funkcijas piemēri.

1. piemērs

Lai sāktu procesu, ļaujiet man uzrakstīt vienkāršo kodu. Veiciet tālāk norādītās darbības, lai lietotu VBA UBOUND funkciju.

1. darbība: sāciet Excel makro un definējiet mainīgā nosaukumu.

Kods:

Sub Ubound_Example1 () Dim ArrayLength (0 līdz 4) kā virkne

2. solis: Es piešķiršu vērtības šim masīva nosaukumam.

Kods:

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 klases" beigu apakšgrupa

3. solis: Tagad, izmantojot ziņojumu lodziņu ar funkciju UBOUND, mēs redzēsim maksimālo masīva garumu.

Kods:

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 klases" MsgBox augšējais garums ir: "& UBound (ArrayLength) beigu apakšdaļa

4. solis: Palaidiet šo kodu, nospiežot F5 taustiņu, vai arī kodu varat palaist arī manuāli, kā parādīts zemāk redzamajā ekrānuzņēmumā.

Ziņojumu lodziņā tiks parādīts masīva augšējais ierobežotais numurs, kas tiks parādīts ziņojumu lodziņā.

Šādi izmantojot Excel VBA UBOUND funkciju, mēs varam iegūt masīva augšējo robežu.

2. piemērs - Excel VBA UBOUND funkcijas izmantošana datu kopēšanai

Pieņemsim, ka jums ir datu saraksts vienā Excel lapā, piemēram, zemāk.

Šie dati tiks atjaunināti katru dienu, un jums katru reizi, kad tie tiek atjaunināti, šie dati ir jākopē uz jauno lapu. Lai to manuāli atjauninātu, jūsu darbavietā būs vajadzīgs daudz laika, taču es jums parādīšu vienkāršu makro kodu, lai to automatizētu.

1. darbība: izveidojiet makro un definējiet masīva mainīgo.

Kods:

Sub Ubound_Example2 () Dim DataRange () Kā variants End Sub

2. solis: Tagad aktivizējiet datu lapu, tiesājot tās nosaukumu.

Kods:

Sub Ubound_Example2 () Dim DataRange () kā variantu lapas ("Data Sheet"). Aktivizējiet End Sub

3. solis: Tagad piešķiriet datu diapazonu definētajam mainīgajam, izmantojot tālāk norādīto kodu.

Kods:

Sub Ubound_Example2 () Dim DataRange () kā variantu lapas ("Data Sheet"). Aktivizējiet 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 () kā variantu lapas ("Data Sheet"). Aktivizējiet DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) darblapas. Add Range (ActiveCell) , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Dzēst DataRange End Sub

Atceramās lietas

  • UBOUND atgriež masīva maksimālo garumu.
  • Masīvs sākas no 0, nevis no 1.
  • Ja vēlaties zemāku masīva vērtību, jums jāizmanto VBA LBOUND.
  • Ja masīvam ir vairākas dimensijas, jums jānorāda arī dimensijas numurs.

Interesanti raksti...