Низ низова Екцел ВБА
У ВБА, низ низа није ништа друго до променљива низа која може да садржи више од једне вредности низа са једном променљивом.
На пример, погледајте доленаведени ВБА код.
Шифра:
Суб Стринг_Арраи_Екампле () Дим ЦитиЛист (1 до 5) Као варијанта ЦитиЛист (1) = "Бангалоре" ЦитиЛист (2) = "Мумбаи" ЦитиЛист (3) = "Колката" ЦитиЛист (4) = "Хидерабад" ЦитиЛист (5) = "Орисса" МсгБок ЦитиЛист (1) & "," & ЦитиЛист (2) & "," & ЦитиЛист (3) & "," & ЦитиЛист (4) & "," & ЦитиЛист (5) Енд Суб
У горњем коду сам прогласио променљиву низа и доделио дужину низа од 1 до 5.
Дим ЦитиЛист (1 до 5) као варијанта
За ову променљиву низа доделио сам 5 имена градова у којима се помиње сваки број низа у загради.
ЦитиЛист (1) = "Бангалоре" ЦитиЛист (2) = "Мумбаи" ЦитиЛист (3) = "Колката" ЦитиЛист (4) = "Хидерабад" ЦитиЛист (5) = "Орисса"
Даље, написао сам код за приказ ових градова у оквиру за поруку.
МсгБок ЦитиЛист (1) & "," & ЦитиЛист (2) & "," & ЦитиЛист (3) & "," & ЦитиЛист (4) & "," & ЦитиЛист (5)
Када покренем овај код, добићемо оквир за поруку који приказује сва имена градова у једном оквиру за поруке.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__2.png.webp)
Сви знамо да је ово уштедело толико времена из нашег распореда елиминисањем задатка декларисања појединачних променљивих за сваки град. Међутим, још једна ствар коју морате научити је да и даље можемо смањити код линије коју пишемо за стринг вредности. Погледајмо како пишемо код за ВБА низове низова.
Примери низа низова у програму Екцел ВБА
Испод су примери екцел ВБА низа низова.
Пример # 1
Као што смо видели у горњем коду, сазнали смо да можемо да похранимо више од једне вредности у променљиву на основу утврђене величине низа.
Сада оно што треба да урадимо је да не одредимо дужину низа унапред.
Шифра:
Суб Стринг_Арраи_Екампле1 () Дим ЦитиЛист () Као варијанта Крај Суб
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__3.png.webp)
Као што видите горе у загради, нисам написао ниједну дужину. Сада за ову променљиву, убацимо вредности помоћу функције ВБА АРРАИ.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__4.png.webp)
Унутар низа проследите вредности у двоструким наводницима, одвојене зарезом (,).
Шифра:
Суб Стринг_Арраи_Екампле () Дим ЦитиЛист () Као варијанта ЦитиЛист = Арраи ("Бангалоре", "Мумбаи", "Колката", "Хидерабад", "Орисса") Крај Суб
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__5.png.webp)
Сада задржите стари код да бисте приказали резултат имена градова у оквиру за поруке у ВБА.
Шифра:
Суб Стринг_Арраи_Екампле1 () Дим ЦитиЛист () Као варијанта ЦитиЛист = Арраи ("Бангалоре", "Мумбаи", "Колката", "Хидерабад", "Орисса") МсгБок ЦитиЛист (0) & "," & ЦитиЛист (1) & " , "& ЦитиЛист (2) &", "& ЦитиЛист (3) &", "& ЦитиЛист (4) Крај Суб
Једна промена коју сам унео у горњи код је зато што нисмо одлучили за доњу и горњу границу променљиве низа и користили смо функцију АРРАИ. Број поља низова започиње од 0, а не од 1.
То је разлог зашто смо вредности поменули као ЦитиЛист (0), ЦлитиЛист (1), ЦитиЛист (2), ЦитиЛист (3) и ЦитиЛист (4).
Сада покрените код преко Екцел пречице Ф5 или ручно. Добијамо исти резултат као и из претходног кода.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba_.gif)
Пример # 2
Низ низова ВБА са функцијама ЛБОУНД & УБОУНД
У случају да ако не желите да прикажете све листе градова у једном оквиру за поруку, онда морате да укључите петље, дефинишите још једну променљиву за петље.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__6.png.webp)
Сада да бисмо укључили петљу ФОР НЕКСТ, нисмо сигурни колико пута треба да покренемо код. У овом случају можемо да одлучимо као пет пута, али то није прави начин да приступимо проблему. Па како је са идејом аутоматског идентификатора дужине низа нижег и вишег нивоа ???
Када отворимо петљу ФОР НЕКСТ, обично одредимо дужину петље од 1 до 5 или 1 до 10 у зависности од ситуације. Уместо да ручно уносимо бројеве, употребимо функције ЛБОУНД и УБОУНД за аутоматско одлучивање о доњој и горњој вредности.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__7.png.webp)
За ЛБоунд и Убоунд сам навео име низа, тј. ЦитиЛист. ВБА ЛБоунд идентификује доњу вредност променљиве низа, а функција ВБА УБоунд идентификује горњу вредност променљиве низа.
Сада прикажи вредност у оквиру за поруке, уместо да убацујеш серијски број, нека променљива петље „к“ аутоматски узима вредност низа.
Шифра:
Суб Стринг_Арраи_Екампле1 () Дим ЦитиЛист () Као варијанта Дим к Ас Интегер ЦитиЛист = Арраи ("Бангалоре", "Мумбаи", "Колката", "Хидерабад", "Орисса") За к = ЛБоунд (ЦитиЛист) То УБоунд (ЦитиЛист) МсгБок ЦитиЛист (к) Следећи к Крај Суб
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__8.png.webp)
Сада ће оквир за поруке посебно приказивати свако име града.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__2.gif)
Пример # 3
ВБА низ низова са функцијом раздвајања
Сада претпоставимо да имате имена градова као што је доле.
Бангалоре; Мумбај; Колката; Хидрабад; Орисса
In this case, all the cities are combined together with the colon separating each city. In such cases, we need to use the SPLIT function to separate each city.
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__9.png.webp)
For Expression, supply the city list.
Code:
Sub String_Array_Example2() Dim CityList() As String Dim k As Integer CityList = Split("Bangalore;Mumbai;Kolkata;Hydrabad;Orissa", For k = LBound(CityList) To UBound(CityList) MsgBox CityList(k) Next k End Sub
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__10.png.webp)
The next argument is “Delimiter,” i.e., what is the one character that is separating each city from other cities. In this case, “Colon.”
Code:
Sub String_Array_Example2() Dim CityList() As String Dim k As Integer CityList = Split("Bangalore;Mumbai;Kolkata;Hydrabad;Orissa", ";") For k = LBound(CityList) To UBound(CityList) MsgBox CityList(k) Next k End Sub
![](https://cdn.know-base.net/5567068/vba_string_array_how_to_declare_and_initialize_string_array_in_excel_vba__11.png.webp)
Сада вредности поделе функције СПЛИТ такође одређују највећу дужину низа.
Ствари које треба запамтити
- ЛБОУНД и УБОУНД су функције за одређивање дужина низа.
- Функција АРРАИ може садржати много вредности за декларисану променљиву.
- Ако једном желите да користите функцију АРРАИ, немојте одлучивати о дужини низа.