Paano Hatiin ang isang String sa isang Array sa VBA (3 Mga Paraan)

  • Ibahagi Ito
Hugh West

Sa artikulong ito, ipapakita ko sa iyo kung paano mo mahahati ang isang string sa isang array sa VBA . Ang Split ay isa sa pinakamahalaga at malawakang ginagamit na function na ginagamit namin sa VBA . Matututuhan mong hatiin ang isang string sa VBA sa lahat ng uri ng mga paraan na posible.

VBA Split Function (Quick View)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

I-download ang Workbook ng Pagsasanay

Hatiin ang isang String sa isang Array.xlsm

3 Paraan para Hatiin ang String sa isang Array sa VBA

Magkaroon tayo ng string sa ating kamay “Nag-apply kami para sa visa ng U.S, Canada, Australia, at France .” .

Ipapakita ko sa iyo kung paano mo mahahati ang string na ito sa isang array sa lahat ng uri ng mga paraan na posible gamit ang Split function ng VBA .

1. Gamitin ang Any Delimiter para Hatiin ang String sa Array sa VBA

Maaari mong gamitin ang anumang string bilang delimiter para hatiin ang string sa array sa VBA .

Maaari itong maging isang space (“ “) , isang comma (“,”) , isang semicolon (“:”) , isang character, isang string ng mga character, o anumang bagay.

Halimbawa 1:

Hatiin natin ang string gamit ang kuwit bilang delimiter.

Ang linya ng code ay magiging:

Arr = Split(Text, ",")

Ang kumpletong VBA Code ay magiging:

VBA Code:

4397

Output:

Hatiin nito ang string sa isang array na binubuo ng {“Nag-apply kami para sa visa ng U.S”, “ Canada”, “ Australia”, “France”}.

Halimbawa 2:

Maaari ka ring gumamit ng space (“ ”) bilang delimiter.

Ang linya ng code ay magiging:

Arr = Split(Text, " ")

Ang kumpletong VBA Code ay magiging:

VBA Code:

5385

Output:

Hatiin nito ang string sa isang array na binubuo ng {“We”, “applied”, “for”, “ang”, “visa”, “ng”, “U.S,”, “Canada,”, “Australia,”, “France,”}.

Mga Dapat Tandaan:

  • Ang default na delimiter ay isang space (“ ”) .
  • Ibig sabihin, kung hindi ka maglalagay ng anumang delimiter, gagamit ito ng space bilang delimiter.

Magbasa Nang Higit Pa: Hatiin ang String ayon sa Character sa Excel (6 na angkop na Paraan)

Mga Katulad na Pagbasa:

  • Hatiin ang teksto sa maramihang mga cell sa Excel
  • VBA upang Kumuha ng Mga Natatanging Halaga mula sa Column sa Array sa Excel (3 Pamantayan)
  • Excel VBA: Paano Mag-filter gamit ang Maramihan Pamantayan sa Array (7 Paraan)

2. Hatiin ang isang String sa isang Array na may Anumang Bilang ng Mga Item

Maaari mong hatiin ang isang string sa isang array na may anumang bilang ng mga item ayon sa iyong nais.

Ipasok ang bilang ng mga item bilang ang 3rd argument ng Split function .

Halimbawa:

Hatiin natin ang string sa unang 3 item na may space bilang delimiter.

Ang linya ng code aymaging:

Arr = Split(Text, " ", 3)

At ang VBA code ay magiging:

VBA Code:

8732

Output:

Hatiin nito ang string sa isang array na binubuo ng unang 3 item na pinaghihiwalay ng delimiter space .

Mga Dapat Tandaan:

  • Ang default na argument ay -1 .
  • Ibig sabihin, kung hindi mo ilalagay ang argumento, mahahati ito ang string sa maximum na bilang ng beses na posible.

Magbasa Nang Higit Pa: Paano Hatiin ang String ayon sa Haba sa Excel (8 Paraan)

3. Gamitin ang Parehong Case-Sensitive at Insensitive Delimiter upang Hatiin ang isang String ng Array sa VBA

Ang Split function ay nag-aalok sa iyo na gumamit ng parehong case-sensitive at case-insensitive delimiter.

Para sa isang case-insensitive delimiter, ipasok ang 4th argument bilang 1.

At para sa isang case-insensitive delimiter, ipasok ang 4th argument bilang 0 .

Halimbawa 1: Case-Insensitive Delimiter

Sa ibinigay na string, isaalang-alang natin ang text na “PARA” bilang delimiter at 2 bilang ang kabuuang bilang ng mga item ng array.

Ngayon, para sa isang case-insensitive case, ang linya ng code ay magiging:

Arr = Split(Text, "FOR ", 3,1)

At ang kumpletong VBA code ay magiging:

VBA Code:

1226

Output:

Dahil ang delimiter ay case-insensitive dito, ang “PARA ” gagana bilang “para sa” at hahatiin nito ang string sa isang array ng dalawang item.

Halimbawa 2: Case-Sensitive Delimiter

Muli, para sa isang case-sensitive case, ang linya ng code ay magiging:

Arr = Split(Text, "FOR ", 3,0)

At ang kumpletong VBA code ay magiging:

VBA Code:

7548

Output:

Dahil ang delimiter ay case-sensitive dito, ang “ FOR” ay hindi magiging “for” at hindi nito hahatiin ang string sa isang array ng dalawang item.

Magbasa Nang Higit Pa: Excel VBA: Alisin ang mga Duplicate mula sa isang Array (2 Halimbawa)

Mga Dapat Tandaan:

  • Ang default na value ng argument ay 0 .
  • Ibig sabihin, kung hindi mo ilalagay ang value ng 4th argument, gagana ito para sa isang case-sensitive na tugma.

Konklusyon

Samakatuwid, gamit ang mga paraang ito, maaari mong gamitin ang Split function ng VBA para hatiin ang isang string sa hanay ng mga item. May tanong ka ba? Huwag mag-atubiling magtanong sa amin.

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.