VBA masyvo dydis - žingsnis po žingsnio vadovas su pavyzdžiais

Šiame straipsnyje pateikiame žingsnis po žingsnio, kaip rasti masyvo dydį naudojant VBA kodą.

Kaip rasti masyvo dydį naudojant VBA kodą?

Atlikite veiksmus, norėdami rasti masyvo dydį naudodami „Excel VBA“ kodą.

  • 1 žingsnis: Pirmiausia pradėkime nuo pagrindinio, deklaruokime kintamąjį VBA kaip duomenų duomenų variantą.

Kodas:

Sub Array_Size () Dim MyArray kaip variantas End Sub
  • 2 žingsnis: Šiam kintamajam naudokite ARRAY funkciją ir priskirkite keletą reikšmių, kaip parodyta žemiau.

Kodas:

Sub Array_Size () Dim MyArray kaip variantas MyArray = Array („Jan“, „Vasaris“, „Mar“, „Balandis“, „Gegužė“, „Birželis“, „Liepa“) Pabaiga Sub
  • 3 žingsnis: Gerai, mes priskyrėme keletą reikšmių masyvo pavadinimui „MyArray“.

Tarkime, jei turime parašyti kilpą, kad išsaugotume šias masyvo reikšmes ląstelėse, tada turime nuspręsti, kiek kartų kilpa turi būti paleista. Tai priklauso nuo masyvo reikšmių skaičiaus.

Gerai, dabar pažiūrėkite į masyvo pavadinimui „MyArray“ priskirtų verčių skaičių, iš viso masyvui priskirtos 7 vertės, todėl dabar mes žinome, kiek kartų ciklas turi būti paleistas, kad masyvo reikšmės būtų išsaugotos ląstelėse .

  • 4 žingsnis: paskelbkite kitą kintamąjį kaip sveikąjį skaičių, kad VBA parašytumėte FOR kilpą.

Kodas:

Sub Array_Size () Dim MyArray kaip variantas MyArray = Array („Jan“, „Vasaris“, „Mar“, „Balandis“, „Gegužė“, „Birželis“, „Liepa“) Dim k kaip sveikoji k = 1–7 Kitas k End Sub
  • 5 žingsnis: mes einame, mes atidarėme FOR kilpą, pradedant nuo 1 iki 7, ciklo viduje parašykite CELLS savybę saugoti, kaip parodyta toliau.

Kodas:

Sub Array_Size () Dim MyArray kaip variantas MyArray = Array („Jan“, „Vasaris“, „Mar“, „Balandis“, „Gegužė“, „Birželis“, „Liepa“) Dim k kaip sveikoji k = 1–7 Ląstelės (k, 1). Vertė = MyArray (k) Kitas k End Sub
  • 6 žingsnis: Gerai, dabar vykdykite kodo eilutę eilute paspausdami F8 funkcijos klavišą. Pirmą kartą paspaudus klavišą F8, jis inicijuos makrokomandą.
  • 7 žingsnis: Dabar paspauskite F8, jis pereis prie masyvo vertės priskyrimo eilutės.
  • 8 žingsnis: Šiuo metu masyvo pavadinime „MyArray“ nėra jokių verčių, paspauskite F8, ir visos paminėtos reikšmės bus priskirtos masyvo kintamajam.
  • 9 žingsnis: Dabar kilpa pradės veikti ir 2 kartus paspauskite klavišą F8 ir pamatysite, kokią vertę gauname langelyje A1.
  • Oi !!! Laikykis, mūsų pirmoji masyvo kintamojo reikšmė yra „Jan“, tačiau rezultatą gavome kaip antrąją reikšmę „Vasaris“, kai vis dar veikia pirmoji vertės kilpa.
  • 10 žingsnis: Taip yra todėl, kad kai jūsų masyvo reikšmės prasideda nuo nulio, o ne nuo 1, todėl pradinę kilpą turime įtraukti kaip nulį.
  • 11 žingsnis: Kai pradinė kilpos padėtis sumažėja vienu panašiai, pabaiga taip pat turėtų būti sumažinta 1, todėl pabaigą padarykite 6, o ne 7.
  • Step 12: Once the loop starting and ending decided one more tweak we need to do, i.e. in the CELLS property we have used “k” variable as the dynamic cell picker but since our loop starts from zero, there is no cell starts with zero, so add plus 1 to the variable “k”.

Code:

Sub Array_Size() Dim MyArray As Variant MyArray = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 0 To 6 Cells(k + 1, 1).Value = MyArray(k) Next k End Sub
  • Step 13: So now upon running the loop first-time “k” value is zero, and since we have added plus 1, the “k” value will be 1 so refers to cell A1.
  • Step 14: Now run the code, and all the values of array will be stored in cells.

However, in this instance, we have decided the loop starting and ending size manually, but the size of the array can be determined easily using LBOUND & UBOUND functions.

Find Size of an Array Automatically

  • Step 1: When we about included loop starting and ending point in the above we have manually counted the number of values array has but to start the array use LBOUND function and for this pass “MyArray” variable name.
  • Step 2: And to determine the last array size use UBOUND function and enter the array name “MyArray”.

Code:

Sub Array_Size() Dim MyArray As Variant MyArray = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = Lboubd(MyArray) To UBound(MyArray) Cells(k + 1, 1).Value = MyArray(k) Next k End Sub
  • 3 žingsnis: Gerai, dabar pradėkite eilutę pagal eilutės kodą ir paspauskite klavišą F8, kol jis pasieks kilpos pradinį tašką.
  • 4 žingsnis: Dabar pirmiausia užveskite žymeklį ant „LBound (MyArray)“ ir pažiūrėkite, ką jis sako.
  • 5 žingsnis: Pradinio taško skaičius, lygus nuliui, dabar užveskite žymeklį ant „UBound (MyArray)“ ir pažiūrėkite, ką jis sako.

Jame sakoma, kad masyvo dydis yra 6, taigi, kaip ir tai, kaip paminėjome pradėjimą ir pabaigą rankiniu būdu, UBOUND ir LBOUND automatiškai parenka mums numerius.

Įdomios straipsniai...