Satura rādītājs
Šajā rakstā es parādīšu, kā sadalīt virkni masīvā ar VBA . Split ir viena no svarīgākajām un visbiežāk izmantotajām funkcijām, ko mēs izmantojam programmā VBA . Uzzināsiet, kā sadalīt virkni, izmantojot VBA visos iespējamos veidos.
VBA sadalīšanas funkcija (ātrs skats)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Lejupielādēt Practice Workbook
Sadalīt virkni masīvā.xlsm3 veidi, kā VBA sadalīt virkni masīvā
Ņemsim rokā auklu "Mēs pieteicāmies ASV, Kanādas, Austrālijas un Francijas vīzām." .
Es jums parādīšu, kā šo virkni var sadalīt masīvā visos iespējamos veidos, izmantojot Sadalīšanas funkcija no VBA .
1. Jebkura norobežotāja izmantošana, lai sadalītu virkni masīvā VBA programmā
Varat izmantot jebkuru virkni kā norobežotāju, lai sadalītu virkni masīvā, izmantojot VBA .
Tas var būt atstarpe (" ") , a komats (",") , a semikols (":") , viena rakstzīme, rakstzīmju virkne vai jebkas cits.
⧭ 1. piemērs:
Sadalīsim virkni, izmantojot komats kā norobežotāju.
Kods būs šāds:
Arr = Split(Teksts, ",")
Pilnīga VBA kods būs:
⧭ VBA kods:
Sub Split_String() Teksts = "Mēs pieteicāmies ASV, Kanādas, Austrālijas un Francijas vīzām." Arr = Split(Teksts, ",") Izvads = "" For i = 0 To UBound(Arr) Izvads = Izvads + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Izvads End Sub
⧭ Izvades rezultāts:
Tas sadalīs virkni masīvā, kas sastāv no {"Mēs pieprasījām ASV vīzu", " Kanāda", " Austrālija", " Francija"}.
⧭ 2. piemērs:
Varat izmantot arī atstarpe (" ") kā norobežotāju.
Koda rinda būs šāda:
Arr = Split(Teksts, " ")
Pilnīga VBA kods būs:
⧭ VBA kods:
Sub Split_String() Teksts = "Mēs pieteicāmies ASV, Kanādas, Austrālijas un Francijas vīzām." Arr = Split(Teksts, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Izvades rezultāts:
Tas sadalīs virkni masīvā, kas sastāv no {"Mēs", "pieteicās", "par", "par", "vīza", "no", "ASV,", "Kanāda,", "Austrālija,", "Francija,"}.
⧭ Kas jāatceras:
- Noklusējuma norobežotājs ir atstarpe (" ") .
- Tas nozīmē, ka, ja neievietojat nekādu norobežotāju, tiks izmantots telpa kā norobežotāju.
Lasīt vairāk: Stieņu sadalīšana pēc rakstzīmēm programmā Excel (6 piemēroti veidi)
Līdzīgi lasījumi:
- Teksta sadalīšana vairākās Excel šūnās
- VBA, lai iegūtu unikālas vērtības no kolonnas masīvā programmā Excel (3 kritēriji)
- Excel VBA: Kā filtrēt ar vairākiem kritērijiem masīvā (7 veidi)
2. Sadaliet virkni masīvā ar jebkuru elementu skaitu
Varat sadalīt virkni masīvā ar jebkuru elementu skaitu atbilstoši savām vēlmēm.
Ievietojiet elementu skaitu kā 3. arguments Sadalīšanas funkcija .
⧭ Piemērs:
Sadalīsim virkni pirmajā 3 vienumus ar telpa kā norobežotāju.
Koda rinda būs šāda:
Arr = Split(Teksts, " ", 3)
Un VBA kods būs:
⧭ VBA kods:
Sub Split_String() Teksts = "Mēs pieteicāmies ASV, Kanādas, Austrālijas un Francijas vīzām." Arr = Split(Teksts, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub End Sub
⧭ Izvades rezultāts:
Tas sadalīs virkni masīvā, kas sastāv no pirmā 3 vienumus, kas atdalīti ar norobežotāju telpa .
⧭ Kas jāatceras:
- Noklusējuma arguments ir -1 .
- Tas nozīmē, ka, ja arguments netiks ievadīts, virkne tiks sadalīta maksimālajā iespējamajā skaitā reižu.
Lasīt vairāk: Kā sadalīt virkni pēc garuma programmā Excel (8 veidi)
3. Lietojiet gan ar lietām jutīgu, gan nejutīgu norobežotāju, lai sadalītu virknes masīvu VBA programmā
Portāls Sadalīšanas funkcija piedāvā izmantot gan lielo un mazo izmēru un lielo un mazo burtu un atbilžu norobežotājs.
Par lielo un mazo burtu un atbilžu norobežotājs, ievietojiet 4. argumentu kā 1.
Un par lielo un mazo burtu un atbilžu norobežotājs, ievietojiet 4. argumentu kā 0 .
⧭ 1. piemērs: Lietošanai maznozīmīgs norobežotājs
Aplūkosim dotajā virknē tekstu "FOR" kā atdalītāju un 2 kā kopējais elementu skaits masīvā.
Tagad par lielo un mazo burtu un atbilžu gadījumā kods būs šāds:
Arr = Split(Teksts, "FOR ", 3,1)
Un pilns VBA kods būs:
⧭ VBA kods:
Sub Split_String() Teksts = "Mēs pieteicāmies ASV, Kanādas, Austrālijas un Francijas vīzām." Arr = Split(Teksts, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Izvades rezultāts:
Tā kā norobežotājs ir lielo un mazo burtu un atbilžu šeit "FOR" darbosies kā "par" un sadalīs virkni masīvā, kas sastāv no diviem elementiem.
⧭ 2. piemērs: Lieto maznozīmju norobežotājs
Atkal par lielo un mazo izmēru gadījumā kods būs šāds:
Arr = Split(Teksts, "FOR ", 3,0)
Un pilns VBA kods būs:
⧭ VBA kods:
Sub Split_String() Teksts = "Mēs pieteicāmies ASV, Kanādas, Austrālijas un Francijas vīzām." Arr = Split(Teksts, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Izvades rezultāts:
Tā kā norobežotājs ir lielo un mazo izmēru šeit "FOR" nebūs kā "par" un nesadalīs virkni divu elementu masīvā.
Lasīt vairāk: Excel VBA: dubultzīmju noņemšana no masīva (2 piemēri)
⧭ Kas jāatceras:
- Argumenta noklusējuma vērtība ir 0 .
- Tas nozīmē, ka, ja jūs neievietosiet vērtību 4. arguments, tas darbosies ar lielo un mazo izmēru saskaņot.
Secinājums
Tāpēc, izmantojot šīs metodes, varat izmantot Sadalīšanas funkcija no VBA lai sadalītu virkni elementu masīvā. Vai jums ir kādi jautājumi? Jautājiet mums.