VBA UBound Function | Paano Gumamit ng UBound sa Excel VBA?

Ang UBOUND o kilala rin bilang Upper Bound, ang pagpapaandar na ito sa VBA ay ginagamit kasama ang kabaligtaran na pag-andar na kung saan ang LBOUND o kilala rin bilang Lower Bound function, ang paggamit ng pagpapaandar na ito ay upang tukuyin ang haba ng isang array sa isang code at tulad ng ipinahihiwatig ng pangalan ng UBOUND ay ginagamit upang tukuyin ang itaas na limitasyon ng array.

Pag-andar ng VBA UBOUND

Paano mo masasabi ang maximum na haba ng array sa excel? Oo, maaari naming manu-manong makita at ma-update ang maximum na haba ng array ngunit kung ginagawa mo ang lahat ng ito habang ngayon ay ang pagtatapos nito dahil mayroon kaming isang function na tinatawag na UBOUND upang matukoy ang maximum na haba ng array. Sundin ang artikulong ito upang magkaroon ng karagdagang kaalaman tungkol sa pagpapaandar ng UBOUND sa Excel VBA.

Ang UBOUND ay nangangahulugang Upper Bound. Kadalasan sa mga oras sa pag-coding maaaring kailanganin nating hanapin ang maximum na haba ng array. Halimbawa, MyResult (24) nangangahulugang pangalan ng array MyResult humahawak ng 25 halaga dito dahil ang pagsisimula ay nagsisimula mula sa zero, hindi mula sa isa. Kaya't ang 24 ay nangangahulugang +1 hal. Ganap na 25 halaga.

Dito ang maximum na haba ng array ay 24, sa halip na ibigay nang manu-mano ang haba ng array maaari naming gamitin ang built-in na function na UBOUND upang makuha ang maximum na haba ng array.

Ang code ay:UBOUND (MyResult)ibig sabihin, UBOUND (24)

Kaya ang pag-andar ng Excel VBA UBOUND ay kumakatawan sa itaas na hangganan ng laki ng array.

Paano magagamit ang VBA UBound Function sa Excel?

Ang formula ng VBA UBOUND ay napaka-simple dahil mayroon lamang itong dalawang mga parameter dito.

UBound (Arrayname [, Dimensyon])
  • Pangalan ng Array: Ito ang pangalan ng pangalan ng array na tinukoy namin. Halimbawa, sa halimbawa sa itaas, MyResult ang pangalan ng array.
  • [Dimensyon]: Kung ang array ay may higit sa isang sukat pagkatapos ay kailangan naming tukuyin ang sukat ng array. Kung hindi mo papansinin ay gagamot nito ang unang sukat bilang default.

Ang pagpapaandar ng Excel VBA UBOUND ay lubhang kapaki-pakinabang sa pagtukoy ng haba ng mga loop habang pinapatakbo ang mga loop.

Mga halimbawa ng UBOUND Function sa Excel VBA

Nasa ibaba ang mga praktikal na halimbawa ng VBA UBound Function.

Maaari mong i-download ang VBA UBound Function Template dito - VBA UBound Function Template

Halimbawa # 1

Upang simulan ang paglilitis hayaan mong isulat ko ang simpleng code. Sundin ang mga hakbang sa ibaba upang mailapat ang pagpapaandar ng VBA UBOUND.

Hakbang 1: Simulan ang excel macro at tukuyin ang variable na pangalan.

Code:

 Sub Ubound_Example1 () Dim ArrayLength (0 To 4) Bilang String 

Hakbang 2: Magtalaga ako ng mga halaga sa pangalan ng array na ito.

Code:

 Sub Ubound_Example1 () Dim ArrayLength (0 To 4) Bilang String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" End Sub 

Hakbang 3: Gumagamit na ngayon ng isang kahon ng mensahe na may pag-andar ng UBOUND makikita namin ang maximum na haba ng array.

Code:

 Sub Ubound_Example1 () Dim ArrayLength (0 To 4) Bilang String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" MsgBox "Upper Bound Length ay:" & UBound (ArrayLength) End Sub 

Hakbang 4: Patakbuhin ang code na ito, sa pamamagitan ng pagpindot sa F5 key o maaari mo ring patakbuhin ang code nang manu-mano tulad ng ipinakita sa screenshot sa ibaba.

ipapakita sa iyo ng kahon ng mensahe ang itaas na bilang na nakatali ng array ay ipapakita sa kahon ng mensahe.

Tulad nito gamit ang pagpapaandar ng Excel VBA UBOUND, makukuha natin ang itaas na haba ng haba ng isang array.

Halimbawa # 2 - Paggamit ng Excel VBA UBOUND Function upang Kopyahin ang Data

Ipagpalagay na mayroon kang isang listahan ng data sa isang excel sheet tulad ng sa ibaba.

Mag-a-update ang data na ito sa araw-araw at kailangan mong kopyahin ang data na ito sa bagong sheet sa tuwing mag-a-update ito. Ang pag-update sa manu-manong ito ay magtatagal ng isang malaking oras sa iyong lugar ng trabaho ngunit ipapakita ko sa iyo ang simpleng macro code upang i-automate ito.

Hakbang 1: Lumikha ng isang macro at tukuyin ang variable ng array.

Code:

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

Hakbang 2: Ngayon ay buhayin ang datasheet sa pamamagitan ng pag-referee sa pangalan nito.

Code:

 Sub Ubound_Example2 () Dim DataRange () Bilang Mga Variant Sheet ("Data Sheet"). Buhayin ang End Sub 

Hakbang 3: Italaga ngayon ang saklaw ng data sa tinukoy na variable sa pamamagitan ng paggamit ng code sa ibaba.

Code:

 Sub Ubound_Example2 () Dim DataRange () Bilang Mga Variant Sheet ("Data Sheet"). Paganahin ang DataRange = Saklaw ("A2", Saklaw ("A1"). Tapusin (xlDown). End (xlToRight)) End Sub 

Hakbang 4: Magdagdag ngayon ng isang bagong worksheet sa workbook.

Code:

 Sub Ubound_Example2 () Dim DataRange () Bilang Mga Variant Sheet ("Data Sheet"). Paganahin ang DataRange = Saklaw ("A2", Saklaw ("A1"). Pagtatapos (xlDown). Pagtatapos (xlToRight)) Mga Worksheet. Idagdag ang End Sub 

Hakbang 5: Idagdag ngayon ang data sa bagong idinagdag na sheet sa pamamagitan ng paggamit ng function na Excel VBA UBOUND sa anyo ng code sa ibaba.

Code:

 Sub Ubound_Example2 () Dim DataRange () Bilang Mga Variant Sheet ("Data Sheet"). Paganahin ang DataRange = Saklaw ("A2", Saklaw ("A1"). Pagtatapos (xlDown). End (xlToRight)) Mga Worksheet. Magdagdag ng Saklaw (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange End Sub 

Ang code sa itaas ay mababawi ang mga cell sa pamamagitan ng maximum na haba na ibinalik ng pag-andar ng UBOUND at ang saklaw na ito ay magiging katumbas ng halaga ng pangalan ng array na "Sakop ng data

Hakbang 6: Ngayon patakbuhin ang code na ito ay i-paste ang halaga sa bagong sheet.

Ang code na ito ay isang pabago-bago dahil kahit na tumataas nang pahalang at patayo ang data awtomatiko nitong kukuha ng saklaw. Ngayon ay magdaragdag ako ng ilang mga linya ng dummy sa data.

Ngayon ay tatakbo ko ulit ang code na ito, idaragdag na rin nito ang mga bagong idinagdag na mga linya.

Code:

 Sub Ubound_Example2 () Dim DataRange () Bilang Mga Variant Sheet ("Data Sheet"). Paganahin ang DataRange = Saklaw ("A2", Saklaw ("A1"). Pagtatapos (xlDown). End (xlToRight)) Mga Worksheet. Magdagdag ng Saklaw (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Burahin ang DataRange End Sub 

Bagay na dapat alalahanin

  • Ibinabalik ng UBOUND ang maximum na haba ng array.
  • Ang array ay nagsisimula sa 0, hindi mula sa 1.
  • Kung nais mo ang mas mababang halaga ng array pagkatapos ay kailangan mong gumamit ng VBA LBOUND.
  • Kung ang array ay may higit sa isang sukat pagkatapos ay kailangan mong tukuyin din ang bilang ng dimensyon.