Шта је ВБА низ у Екцел-у и како га програмирати
ВБА(VBA) је већ дуги низ година део Мицрософт Оффице(Microsoft Office) пакета. Иако нема пуну функционалност и моћ пуне ВБ апликације, ВБА(VBA) пружа корисницима Оффицеа флексибилност да интегришу (Office)Оффице(Office) производе и аутоматизују посао који обављате у њима.
Један од најмоћнијих алата доступних у ВБА(VBA) -у је могућност учитавања читавог низа података у једну променљиву која се зове низ. Учитавањем података на овај начин, можете манипулисати или вршити прорачуне на том опсегу података на различите начине.
Дакле, шта је ВБА(VBA) низ? У овом чланку ћемо одговорити на то питање и показати вам како да га користите у сопственој ВБА скрипти(your own VBA script) .
Шта је ВБА низ?
Коришћење ВБА(VBA) низа у Екцел(Excel) -у је веома једноставно, али разумевање концепта низова може бити мало сложено ако га никада нисте користили.
Замислите(Think) низ као кутију са секцијама унутар њега. Једнодимензионални низ је кутија са једном линијом секција. Дводимензионални низ је кутија са две линије секција.
Можете ставити податке у сваки одељак ове „кутије“ било којим редоследом који желите.
На почетку ваше ВБА(VBA) скрипте, морате да дефинишете ову „кутију“ тако што ћете дефинисати свој ВБА(VBA) низ. Дакле, да бисте креирали низ који може да садржи један скуп података (једнодимензионални низ), написали бисте следећи ред.
Dim arrMyArray(1 To 6) As String
Касније у свом програму, можете поставити податке у било који одељак овог низа позивајући се на одељак унутар заграда.
arrMyArray(1) = "Ryan Dube"
Можете креирати дводимензионални низ користећи следећи ред.
Dim arrMyArray(1 To 6,1 to 2) As Integer
Први број представља ред, а други колону. Дакле, горњи низ може да садржи опсег са 6 редова и 2 колоне.
Можете учитати било који елемент овог низа подацима на следећи начин.
arrMyArray(1,2) = 3
Ово ће учитати 3 у ћелију Б1.
Низ може да садржи било коју врсту података као редовну променљиву, као што су стрингови, логичке вредности, цели бројеви, флоат и још много тога.
Број унутар заграде такође може бити променљива. Програмери обично користе петљу(Loop) за пребројавање свих делова низа и учитавање ћелија података у табели у низ. Видећете како то да урадите касније у овом чланку.
Како програмирати ВБА низ у Екцелу
Хајде да погледамо једноставан програм где ћете можда желети да учитате информације из табеле у вишедимензионални низ.
Као пример, погледајмо табелу продаје производа, где желите да извучете име продајног представника, ставку и укупну продају из табеле.
Имајте на уму да у ВБА(VBA) када упућујете на редове или колоне, бројите редове и колоне(rows and columns) почевши од горњег левог од 1. Дакле, колона понављања је 3, колона ставке је 4, а укупна колона је 7.
Да бисте учитали ове три колоне у свих 11 редова, мораћете да напишете следећу скрипту.
Dim arrMyArray(1 To 11, 1 To 3) As String
Dim i As Integer, j As Integer
For i = 2 To 12
For j = 1 To 3
arrMyArray(i-1, j) = Cells(i, j).Value
Next j
Next i
Приметићете да да бисте прескочили ред заглавља, број реда у првом Фор лооку мора да почиње са 2 уместо 1. То значи да морате да одузмете 1 за вредност реда низа када учитавате вредност ћелије у низ користећи ћелије(Cells) (и, ј).Вредност.
Где да уметнете своју ВБА скрипту низа(Your VBA Array Script)
Да бисте програмирали ВБА(VBA) скрипту у Екцел(Excel) , потребно је да користите ВБА(VBA) едитор. Овоме можете приступити тако што ћете изабрати мени за програмере и изабрати (Developer)Прикажи код(View Code) у одељку Контроле(Controls) на траци.
Ако не видите Програмер(Developer) у менију, мораћете да га додате. Да бисте то урадили, изаберите Датотека(File) и Опције(Options) да бисте отворили прозор са опцијама програма Екцел.
Промените команде избора из падајућег менија у Све команде(All Commands) . Изаберите Програмер(Developer) из левог менија и изаберите дугме Додај(Add) да бисте га преместили у окно са десне стране. Означите поље за потврду да бисте га омогућили и изаберите ОК(OK) да бисте завршили.
Када се отвори прозор уређивача кода(Code Editor) , проверите да ли је лист у коме се налазе ваши подаци изабран у левом окну. Изаберите Радни лист(Worksheet) у левом падајућем менију и Активирај(Activate) у десном. Ово ће креирати нови потпрограм под називом Ворксхеет_Ацтивате(Worksheet_Activate) ().
Ова функција ће се покренути сваки пут када се отвори датотека табеле. Налепите код у окно скрипте унутар овог потпрограма.
Ова скрипта ће радити кроз 12 редова и учитаће име представника из колоне 3, ставку из колоне 4 и укупну продају из колоне 7.
Када се заврше обе Фор петље, дводимензионални низ аррМиАрраи садржи све податке које сте навели са оригиналног листа.
Манипулисање низовима у Екцел ВБА
Рецимо да желите да примените порез на промет од 5% на све коначне продајне цене, а затим упишете све податке на нови лист.
То можете да урадите додавањем још једне Фор петље после прве, са командом за писање резултата на нови лист.
For k = 2 To 12
Sheets("Sheet2").Cells(k, 1).Value = arrMyArray(k - 1, 1)
Sheets("Sheet2").Cells(k, 2).Value = arrMyArray(k - 1, 2)
Sheets("Sheet2").Cells(k, 3).Value = arrMyArray(k - 1, 3)
Sheets("Sheet2").Cells(k, 4).Value = arrMyArray(k - 1, 3) * 0.05
Next k
Ово ће „истоварити“ цео низ у Схеет2(Sheet2) , са додатним редом који садржи укупан износ помножен са 5% за износ пореза.
Добијени лист ће изгледати овако.
Као што видите, ВБА(VBA) низови у Екцел(Excel) -у су изузетно корисни и разноврсни као и сваки други трик у Екцел(any other Excel trick) -у .
Горњи пример је врло једноставна употреба за низ. Можете креирати много веће низове и извршити сортирање, усредњавање или многе друге функције у односу на податке које чувате у њима.
Ако желите да будете заиста креативни, можете чак да креирате два низа који садрже низ ћелија(containing a range of cells) из два различита листа и да извршите прорачуне између елемената сваког низа.
Апликације су ограничене само вашом маштом.
Related posts
Како избрисати празне линије у Екцелу
Како користити Екцел-ову функцију говорних ћелија
Како уметнути Екцел радни лист у Ворд документ
Како користити Екцел-ову анализу шта ако
Како поправити ред у Екцелу
Како користити апсолутне референце у Екцел-у
Како уклонити линије мреже у Екцелу
10 Екцел савета и трикова за 2019
Брзо изговорите бројеве у Ворд-у и Екцел-у
Разлике између Мицрософт Екцел-а на мрежи и Екцел-а за десктоп
Како отворити Ворд и Екцел у безбедном режиму
Како уметнути ЦСВ или ТСВ у Екцел радни лист
Сачувајте референце ћелија када копирате формулу у Екцел-у
Како користити ПМТ функцију у Екцелу
Како спојити податке у више Екцел датотека
Како брзо уметнути више редова у Екцел
Основно сортирање података у једној и више колона у Екцел табелама
3 начина да поделите ћелију у Екцел-у
Гоогле табеле у односу на Мицрософт Екцел – које су разлике?
Како израчунати З-сцоре у Екцелу