Talaan ng nilalaman
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.