VBA разделен низ в масив - Как да разделя низ в масив в Excel VBA?

Разделен низ на Excel VBA в масив

Низът е колекция от символи, обединени заедно, когато тези символи се разделят и съхраняват в променлива, тогава тази променлива се превръща в масив за тези символи, а методът, който използваме за разделяне на низ, за ​​да се превърне в масив, е чрез използването на функцията SPLIT в vba, която разделя низа в едноизмерен низ.

Подобно на работни листове и в VBA, ние имаме функции за справяне със String или Text стойности. Ние сме много добре запознати с операциите с низове като извличане на името, фамилията, бащиното име и т.н. Но какво ще кажете за идеята за разделяне на стойността на низа в масиви във VBA? Да, чухте го правилно, можем да разделим изречението на низ в масив, като използваме VBA кодиране и в тази специална статия ще ви покажем как да разделите низа в масив в Excel VBA.

Какво е разделяне на низ в масив?

Нека първо да поясня това, „String into Array“ не е нищо друго освен „различни части от изречението или низът ще бъдат разделени на множество части“. Например, ако изречението е „Бангалор е столицата на Карнатака“, тогава всяка дума е различен масив.

И така, как да разделя това изречение в масива е темата на тази статия.

Как да конвертирате разделен низ в масив в Excel VBA?

За да преобразуваме разделения низ в масив във VBA, имаме функция, наречена „SPLIT“. Това е функция на VBA, която изпълнява задачата за разделяне на предоставената стойност на низа на различни части въз основа на предоставения разделител.

Например, ако изречението е „Бангалор е столицата на Карнатака“, интервалът е разделителят между всяка дума.

По-долу е синтаксисът на функцията SPLIT.

  • Стойност или израз: Това е стойността на низа или текста, която се опитваме да преобразуваме в масива чрез разделяне на всяка част от низа.
  • (Разделител): Това не е нищо друго освен често срещаните неща, които отделят всяка дума в низа. В нашето изречение „Бангалор е столицата на Карнатака“ всяка дума е разделена с космически знак, така че нашият разделител е тук.
  • (Limit): Limit не е нищо друго, освен колко части искаме като резултат. За пример в изречението „Бангалор е столицата на Карнатака“ имаме седем части, ако ни трябват само три части, тогава ще получим първата част като „Бангалор“, втората част като „е“ и третата част като останалата част от изречението, т.е. „столицата на Карнатака.“
  • (Сравнение): Това не се използва в 99% от случаите, така че нека не докосваме това в този момент.

Пример # 1

Добре, сега да видим практически примери.

Стъпка 1: Дефинирайте променливата VBA, за да съдържа стойността на низа.

Код:

Sub String_To_Array () Dim StringValue As String End Sub

Стъпка 2: За тази променлива задайте низа „Бангалор е столицата на Карнатака.“

Код:

Sub String_To_Array () Dim StringValue As String StringValue = "Бангалор е столицата на Карнатка" Край Sub

Стъпка 3: След това дефинирайте още една променлива, която може да съдържа всяка част от горната стойност на низа. Тук трябва да имаме предвид, че тъй като изречението има повече от една дума, трябва да определим променливата като „Array“, за да съдържа повече от една стойност.

В този случай имаме 7 думи в низа, така че дефинирайте масива, както следва.

Код:

Sub String_To_Array () Dim StringValue As String StringValue = "Бангалор е столицата на град Карнатка" Dim SingleValue () As String End Sub

Сега за тази променлива на масива ще използваме функцията SPLIT, за да разделим низа в масив в Excel VBA.

Код:

Sub String_To_Array () Dim StringValue As String StringValue = "Бангалор е столицата на Карнатака" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub

Изразът е нашата стойност на низ, т.е. променливата вече съдържа стойността на низа, така че въведете само името на променливата.

Разделителят в този низ е интервал, така че предоставете същото.

Код:

Sub String_To_Array () Dim StringValue As String StringValue = "Бангалор е столицата на Карнатака" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub

От сега оставете други части на функцията SPLIT.

Функцията SPLIT разделя стойността на низа на 7 части, всяка дума е разделена за сметка на интервала. Тъй като сме декларирали променливата “SingleValue” като масив, можем да присвоим всички 7 стойности на тази променлива.

Можем да напишем кода, както следва.

Код:

Sub String_To_Array () Dim StringValue As String StringValue = "Бангалор е столицата на Карнатака" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) End Sub

Изпълнете кода и вижте какво получаваме в полето за съобщения.

Към момента можем да видим първата дума, т.е. „Бангалор“, за да покажем още думи, можем да напишем кода, както следва.

Код:

Sub String_To_Array () Dim StringValue As String StringValue = "Бангалор е столицата на град Карнатака" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & vbNewelue (1) & vbNewue (2) & vbNewLine & SingleValue (3) & _vbNewLine & SingleValue (4) & vbNewLine & SingleValue (5) & vbNewLine & SingleValue (6) End Sub

Сега стартирайте кода и вижте какво получаваме в полето за съобщения.

Всяка дума е разделена на масиви.

Пример # 2

Сега си представете ситуация на съхранение на тези стойности в клетки, т.е. всяка дума в отделна клетка. За това трябва да включим цикъла FOR NEXT във VBA.

Кодът по-долу ще вмъкне всяка дума в отделни клетки.

Sub String_To_Array1 () Dim StringValue As String StringValue = "Бангалор е столицата на Карнатака" Dim SingleValue () As String SingleValue = Split (StringValue, "") Dim k As Integer За k = 1 до 7 клетки (1, k) .Value = SingleValue (k - 1) Следващ k End Sub

Това ще вмъкне всяка дума, както е показано на изображението по-долу.

Неща за запомняне

  • Масивът и циклите се използват заедно, за да направят кода динамичен.
  • Функцията SPLIT изисква общ разделител, който разделя всяка дума в изречението.
  • Дължината на масива започва от нула, а не от 1.

Интересни статии...