Мазмұны
Бұл мақалада мен сізге VBA ішіндегі жолды массивке қалай бөлуге болатынын көрсетемін. Split - біз VBA -де қолданатын ең маңызды және кеңінен қолданылатын функциялардың бірі. Сіз VBA ішіндегі жолды барлық мүмкін жолдармен бөлуді үйренесіз.
VBA бөлу функциясы (жылдам қарау)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Тәжірибелік жұмыс кітабын жүктеп алу
Жолды массивке бөлу.xlsm
VBA-да жолды массивке бөлудің 3 жолы
Қолымызда жол болсын «Біз АҚШ, Канада, Австралия және Франция визасына өтініш бердік. .” .
Мен сізге VBA ішіндегі Бөлу функциясын пайдалану арқылы бұл жолды массивке қалай бөлуге болатынын көрсетемін. .
1. VBA жүйесінде жолды массивке бөлу үшін кез келген бөлгішті пайдаланыңыз
Сіз кез келген жолды VBA ішіндегі жолды массивке бөлу үшін бөлгіш ретінде пайдалана аласыз.
Бұл бос орын (« “) , үтір (“,”) , нүктелі үтір (“:”) , жалғыз таңба, a таңбалар тізбегі немесе кез келген нәрсе.
⧭ 1-мысал:
үтір арқылы жолды бөлейік. бөлгіш.
Код жолы:
Arr = Split(Text, ",")
Толық VBA коды болады:
⧭ VBA коды:
7741
⧭ Шығару:
Ол жолды {«Біз АҚШ визасына өтініш бердік», «Канада», «Австралия», «ден тұратын массивке бөледі.France”}.
⧭ 2-мысал:
Бөлгіш ретінде бос орынды (« ») пайдалануға болады.
Код жолы:
Arr = Split(Text, " ")
<болады. 0>Толық VBA кодыболады:⧭ VBA коды:
9533
⧭ Шығару:
Ол жолды {“Біз”, “қолданылған”, “үшін”,-дан тұратын массивке бөледі. «the», «виза», «оның», «АҚШ,», «Канада,», «Австралия,», «Франция,»}.
⧭ Есте сақтау керек нәрселер:
- Әдепкі бөлгіш - бос орын (« ») .
- Яғни, ешқандай бөлгішті кірістірмесеңіз, ол бөлгіш ретінде бос орын пайдаланады.
Толығырақ: Excel бағдарламасында жолды таңба бойынша бөлу (6 қолайлы әдіс)
Ұқсас оқулар:
- Мәтінді бірнешеге бөлу Excel бағдарламасындағы ұяшықтар
- Excel бағдарламасындағы бағаннан массивке бірегей мәндерді алу үшін VBA (3 шарт)
- Excel VBA: бірнеше арқылы сүзу әдісі Массивтегі критерийлер (7 жол)
2. Жолды элементтердің кез келген саны бар массивке бөлу
Сіз өз қалауыңыз бойынша жолды элементтердің кез келген саны бар массивке бөлуге болады.
Элементтер санын келесідей енгізіңіз. Бөлу функциясының 3-ші аргументі.
⧭ Мысал:
Бөлейік бөлгіш ретінде бос орын бар бірінші 3 элементтерге жолды енгізіңіз.
Код жолыболады:
Arr = Split(Text, " ", 3)
Ал VBA коды болады:
⧭ VBA коды:
4721
⧭ Шығару:
Ол жолды екіге бөледі бос орын бөлгішімен бөлінген бірінші 3 элементтерден тұратын жиым.
⧭ Есте сақтау керек нәрселер:
- Әдепкі аргумент -1 .
- Бұл аргументті енгізбесеңіз, ол бөлінеді дегенді білдіреді. жолды мүмкін болатын ең көп рет санына жеткізіңіз.
Толығырақ оқу: Excel бағдарламасында жолды ұзындығы бойынша бөлу жолы (8 әдіс)
3. VBA жүйесінде алапты бөлу үшін регистрді және регистрді сезінбейтін бөлгішті пайдаланыңыз
Бөлу функциясы сізге регистрге сезімтал және екеуін де пайдалануды ұсынады. әріп-әріпті сезбейтін бөлгіш.
әріпті сезбейтін бөлгіш үшін 4-ші аргументті 1 ретінде енгізіңіз.
Ал регистрді ескермейтін бөлгіш үшін 4-ші аргументін 0 ретінде енгізіңіз.
⧭ 1-мысал: Регистрді сезбейтін бөлгіш
Берілген жолда бөлгіш ретінде “FOR” мәтінін және 2 мәтінін қарастырайық. массив элементтерінің жалпы саны.
Енді әріп-әріпті сезбейтін регистр үшін код жолы:
Arr = Split(Text, "FOR ", 3,1)
болады.Ал толық VBA коды болады:
⧭ VBA коды:
3977
⧭ Шығару:
Бұл жерде бөлгіш регистрді сезбейді болғандықтан, “FOR ” “үшін” ретінде жұмыс істейді және ол жолды екі элементтен тұратын массивке бөледі.
⧭ 2-мысал: Регистрді ескеретін бөлгіш
Тағы да регистрді ескеретін регистр үшін код жолы келесідей болады:
Arr = Split(Text, "FOR ", 3,0)
Ал толық VBA коды болады:
⧭ VBA коды:
7110
⧭ Шығару:
Бұл жерде бөлгіш регистрге сезімтал болғандықтан, “ FOR” “for” ретінде болмайды және ол жолды екі элементтен тұратын массивке бөлмейді.
Толығырақ оқу: Excel VBA: Массивтен көшірмелерді жою (2 мысал)
⧭ Есте сақтау керек нәрселер:
- Аргументтің әдепкі мәні 0 .
- Яғни, 4-ші аргументтің мәнін қоймасаңыз, ол регистрді ескеретін сәйкестікте жұмыс істейді.
Қорытынды
Сондықтан, осы әдістерді пайдалана отырып, <1 Жолды элементтер массивіне бөлу үшін VBA ішінен>бөлу функциясы . Сұрақтарыңыз бар ма? Бізден сұраңыз.