Paano Gumamit ng VBA LBound Array Function? (na may mga Halimbawa)

Excel VBA LBound Function

LBound sa VBA ay nangangahulugang "Mababang Bound" ibig sabihin, aalisin nito ang pinakamababang bilang ng isang array. Halimbawa, kung ang array ay nagsasabing "Dim ArrayCount (2 hanggang 10) bilang String" pagkatapos ay gumagamit ng LBound function na maaari naming makita ang hindi bababa sa bilang ng haba ng array hal. 2.

Nasa ibaba ang syntax ng pagpapaandar ng LBound. Napakadali at madali, mayroon lamang itong dalawang mga parameter dito.

Lbound (Pangalan ng Array [, sukat])
  • Pangalan ng Array: Ito ang unang pagtatalo. Para sa parameter na ito, kailangan naming tukuyin ang pangalan ng array na ginagamit upang tukuyin ang array.
  • [Dimensyon]: Kung ang array ay isang solong sukat pagkatapos ay hindi ito kinakailangan, sa pamamagitan ng default ay tumatagal ito ng isa o kung hindi man kailangan namin upang ibigay ang numero ng dimensyon.

Kaya, gamit ang pagpapaandar na ito maaari naming makita ang minimum na haba ng isang array.

Paano gamitin ang VBA LBound Function? (Halimbawa)

Maaari mong i-download ang VBA LBound Excel Template dito - VBA LBound Excel Template

Halimbawa # 1

Para sa isang halimbawa tingnan ang code sa ibaba.

Code:

 Sub LBound_Example1 () Dim Count (2 To 5) Bilang Integer MsgBox LBound (Bilang) End Sub 

Sa code sa itaas, tinukoy namin ang array bilang integer at laki ng array bilang 2 hanggang 5. Susunod, inatasan namin ang kahon ng mensahe ng VBA upang ipakita ang pinakamababang haba ng array sa pamamagitan ng paggamit ng LBound function.

Kapag pinatakbo namin ang code makukuha namin ang resulta sa ibaba sa isang kahon ng mensahe.

Output:

Dahil ang aming array na nagsisimula sa 2, tinutukoy ng pagpapaandar ng LBound ang pinakamababang haba ng array bilang 2.

Halimbawa # 2

Ngayon, tingnan ang code sa ibaba.

Code:

 Sub LBound_Example2 () Dim Count (5) Bilang Integer MsgBox LBound (Count) End Sub 

Sa itaas ay hindi namin napagpasyahan ang pinakamababang limitasyon sa halip ay inalok lamang namin ang haba ng array bilang 5, ngayon patakbuhin natin ang code at tingnan ang pinakamababang haba ng halaga.

Output:

Ibinalik nito ang resulta bilang 0 sapagkat kapag hindi namin napagpasyahan ang simula at endpoint ng isang array sa halip ay ibigay ang static na numero, halimbawa, "Bilangin (5) ibig sabihin sa kasong ito ang halaga ng array na nagsisimula sa 0 hindi mula sa 1. Kaya't kami maaaring mag-imbak ng ganap na 6 na mga halaga dito ngayon.

Bilang (0), Bilang (1), Bilang (2), Bilang (3), Bilang (4), Bilang (5).

Halimbawa # 3

Ngayon ay gagamitin namin ang saklaw ng data at magpasya sa mas mababang nakagapos mula sa saklaw ng data. Para sa isang halimbawa tingnan ang imahe ng data sa ibaba.

Mula sa saklaw na ito, magpapasya kami ng pinakamababa at pinakamataas na laki ng hilera.

Una, tukuyin ang variable bilang isang variant.

Code:

 Sub LBound_Example3 () Dim Rng Bilang Variant End Sub 

Para sa variant na "Rng" na ito, itakda ang halaga ng sanggunian sa saklaw bilang "Saklaw (" B2: B5 "). Halaga".

Code:

 Sub LBound_Example3 () Dim Rng Bilang Variant Rng = Saklaw ("B2: B5"). Value End Sub 

Para sa saklaw na ito, mahahanap namin ang pinakamababa at pinakamataas na haba ng array. Buksan ang kahon ng mensahe at pagpapaandar ng LBound at ibigay ang variable na pangalan.

Code:

 Sub LBound_Example3 () Dim Rng Bilang Variant Rng = Saklaw ("B2: B5"). Halaga MsgBox LBound (Rng) End Sub 

Patakbuhin ngayon ang VBA code at makita ang pinakamababang halaga mula sa haba.

Output:

Baguhin ngayon ang variable na sanggunian mula sa B2: B5 hanggang A2: B5.

Para sa saklaw na ito, mahahanap namin ang mga mas mababang halaga ng nakatali at itaas na nakagapos.

Code:

 Sub LBound_Example3 () Dim Rng Bilang Variant Rng = Saklaw ("A2: B5"). Halaga ng End Sub 

Dahil mayroon kaming higit sa isang sukat ng dimensyon kailangan namin upang ibigay din ang bilang ng dimensyon.

Code:

 Sub LBound_Example3 () Dim Rng Bilang Variant Rng = Saklaw ("A2: B5"). Halaga MsgBox LBound (Rng, 1) End Sub 

Upang mahanap ang unang haligi na unang ibabang nakatali sa itaas ng code ay makakatulong, katulad upang mahanap ang itaas na nakatali sa unang haligi sa ibaba ng code ay makakatulong.

Code:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Saklaw ("A2: B5"). Halaga MsgBox LBound (Rng, 1) & vbNewLine & UBound (Rng, 1) End Sub 

Mahahanap nito ang unang haligi na mas mababang haba at itaas na haba. Katulad nito sa susunod na linya sumulat ng isa pang kahon ng mensahe ngunit sa oras na ito baguhin ang sukat mula 1 hanggang 2.

Code:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Saklaw ("A2: B5"). Halaga MsgBox LBound (Rng, 1) & vbNewLine & UBound (Rng, 1) MsgBox LBound (Rng, 2) & vbNewLine & UBound (Rng, 2) Wakas na Sub 

Patakbuhin ang code at tingnan ang resulta sa kahon ng mensahe.

Output:

Para sa unang sukat ng mas mababang gapos ay 1 at ang itaas na bono ay 4.

Mag-click sa "Ok" upang makuha ang susunod na mga limitasyon sa dimensyon.

Output:

Para sa ikalawang sukat ng mas mababang limitasyon ay 1 at ang itaas na limitasyon ay 2.

Mga Bagay na Dapat Tandaan

  • Ibinabalik ng pagpapaandar ng LBound ang minimum na haba mula sa array.
  • Kapag ang haba ng hanay na static ibig sabihin iisang numero pagkatapos ay laging nagsisimula ang pag-array mula sa bilang na 0 hindi mula sa 1.
  • Sa kaso ng isang multi-dimensional na array, kailangan naming tukuyin ang bilang ng dimensyon.