Екцел ВБА низови: Шта је, како користити & амп; Типови низова у ВБА

Шта је ВБА низ?

Низ је дефинисан као меморијска локација која може да сачува више од једне вредности. Вредности морају бити истог типа података. Рецимо да желите да сачувате листу омиљених пића у једној променљивој, за то можете да користите ВБА низ.

Коришћењем низа можете се позвати на повезане вредности под истим именом. Можете их користити индексом или индексом да бисте их разликовали. Појединачне вредности се називају елементима Екцел ВБА низа. Суседни су од индекса 0 до највише вредности индекса.

Овај водич претпоставља да користите Мицрософт Екцел верзију 2013. Знање се и даље односи на друге верзије Мицрософт Екцел-а.

У овом водичу за ВБА програмирање научићете-

  • Које су предности низова?
  • Типови низова у ВБА
  • Како се користи низ у програму Екцел ВБА
  • Тестирање наше апликације

Које су предности низова?

Следе неке од предности које нуди функција ВБА низа

  1. Групирајте логички повезане податке заједно - рецимо да желите да сачувате листу ученика. Можете да користите једну променљиву низа која има одвојене локације за категорије ученика, односно вртић, основну, средњу, средњу школу итд.
  2. Низови олакшавају писање одрживог кода. За исте логички повезане податке омогућава вам да дефинишете једну променљиву, уместо да дефинишете више од једне променљиве.
  3. Боље перформансе - када је низ дефинисан, брже је доћи до података, сортирати их и изменити.

Типови низова у ВБА

ВБА подржава две врсте низова, наиме;

  • Статички - ове врсте низова имају унапред утврђени број елемената који се могу сачувати. Не може се променити величина типа података статичког низа. Они су корисни када желите да радите са познатим ентитетима као што су број дана у недељи, пол итд.

    На пример : Дим АрраиМонтх (12) као низ

  • Динамички - ове врсте низова немају фиксни унапред одређени број елемената који се могу сачувати. Они су корисни када радите са ентитетима којима не можете унапред одредити број.

    На пример : Дим АрраиМонтх () као варијанта

Синтакса за декларацију низова

Статички низови

Синтакса за пријављивање СТАТИЧКИХ низова је следећа:

Dim arrayName (n) as datatype

ОВДЕ,

Код поступак
Затамни тип података типа арраиНаме (н)
  1. Декларише променљиву низа која се назива арраиНаме величине н и типа података. Величина се односи на број елемената које низ може да ускладишти.

Динамички низови

Синтакса за декларацију ДИНАМИЦ низова је следећа:

Dim arrayName() as datatypeReDim arrayName(4)

ОВДЕ,

Код поступак
Затамни тип података арраиНаме ()
  1. Декларише променљиву низа која се назива арраиНаме без навођења броја елемената
РеДим арраиНаме (4)
  1. Одређује величину низа након што је низ дефинисан.

Димензије низа

Низ може бити једна димензија, две димензије или вишедимензионални.

  • Једна димензија : У овој димензији низ користи само један индекс. На пример, одређени број људи сваког узраста.
  • Две димензије : У овој димензији низ користи два индекса. На пример, одређени број ученика у сваком одељењу. Потребан је број одељења и број ученика у сваком одељењу
  • Више димензија : У овој димензији низ користи више од два индекса. На пример, температуре током дана. (30, 40, 20).

Како се користи низ у програму Екцел ВБА

Направићемо једноставну апликацију. Ова апликација попуњава Екцел лист подацима из променљиве низа. У овом примеру ВБА низа урадићемо следеће ствари.

  • Направите нову Мицрософт Екцел радну свеску и сачувајте је као Екцел Мацро-Енаблед Воркбоок (* .клсм)
  • Додајте командно дугме у радну свеску
  • Поставите својства имена и описа командног дугмета
  • Програмирање ВБА који попуњава Екцел лист

Обавите ову вежбу корак по корак,

1. корак - Направите нову радну свеску

  1. Отворите Мицрософт Екцел
  2. Сачувајте нову радну свеску као ВБА Арраис.клсм

Корак 2 - Додајте командно дугме

Напомена: Овај одељак претпоставља да сте упознати са процесом креирања интерфејса у Екцелу. Ако нисте упознати, прочитајте водич ВБА Екцел контрола обрасца и АцтивеКс контрола. Показаће вам како се креира интерфејс

  1. Додајте командно дугме на лист
  1. Поставите својство имена на цмдЛоадБевераге
  2. Подесите својство описа на Учитавање напитака

Ваш ГУИ би сада требао бити следећи

Корак 3 - Сачувајте датотеку

  1. Кликните на дугме сачувај као
  2. Одаберите Екцел Мацро-Енаблед Воркбоок (* .клсм) као што је приказано на доњој слици

Корак 4 - Напишите код

Сада ћемо написати код за нашу апликацију

  1. Кликните десним тастером миша на дугме Лоад Беверагес и одаберите код за приказ
  2. Додајте следећи код догађају клика цмдЛоадБевераге
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub

ОВДЕ,

Код

поступак

Дим пића (1 до 4) као низ

  • Декларише променљиву низа која се зове Дринкс. Први индекс низа је 1, а последњи индекс низа 4.

Пиће (1) = "Пепси"

  • Првом елементу низа додељује вредност Пепси. Други сличан код чини исто за остале елементе низа.

Лист1.Целлс (1, 1) .Валуе = "Моја омиљена пића."

  • Записује вредност Моји омиљени напици у адресу ћелије А1. Лист1 упућује на лист, а Ћелије (1,1) упућују на ред број 1 и колону 1 (Б)

Лист1.Целлс (2, 1) .Валуе = Пића (1)

  • Записује вредност елемента низа са индексом 1 у ред број два колоне 1

Тестирање наше апликације

Изаберите картицу програмера и уверите се да је дугме Режим дизајна искључено. Индикатор је да ће имати белу позадину, а не обојену (зеленкасту) позадину. (Погледајте слику испод)

Кликните на дугме Учитај напитке

Добићете следеће резултате

Преузмите Екцел који садржи горњи код

Преузмите горњи Екцел код

Резиме

  1. Низ је променљива која може да ускладишти више од једне вредности
  2. Екцел ВБА подржава статичке и динамичке низове
  3. Низови олакшавају писање одрживог кода у поређењу са декларисањем пуно променљивих за податке који су логички повезани.

Занимљиви Чланци...