/ / Динамиц Арраи у Екцелу ВБА

Динамички низ у Екцелу ВБА

Ако се величина вашег поља повећава и не желите да поправите величину низа, можете га користити РеДим кључна реч. Екцел ВБА затим аутоматски мења величину поља.

Додајте неке бројеве у колону А.

Динамички низ у Екцелу ВБА

Поставите командно дугме на свој радни лист и додајте следеће линије кода:

1. Прво, објављујемо низ бројева. Такође декларишите две варијабле типа Интегер. Једна по величини и једна по имену и.

Dim numbers() As Integer, size As Integer, i As Integer

Напомена: низ нема велицину. бројеви, величина и ја су случајно изабрани овде, можете користити било која имена. Не заборавите да се позовете на ова имена у остатку вашег кода.

2. Затим, одређујемо величину поља и спремамо је у величину променљиве. За то можете користити функцију радног листа ЦоунтА. Додајте следећу линију кода:

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. Сада знамо величину поља и можемо га редизирати. Додајте следећу линију кода:

ReDim numbers(size)

4. Затим иницијализирамо сваки елемент у низу. Користимо петљу.

For i = 1 To size
    numbers(i) = Cells(i, 1).Value
Next i

5. Приказујемо последњи елемент арраи помоћу МсгБок-а.

MsgBox numbers(size)

6. Изађите из Висуал Басиц Едитор-а и кликните на командно дугме на листу.

Резултат:

Последњи елемент Арраи

7. Сада да јасно видимо зашто се ово зове динамички низ, додајте број у колону А.

Додати број

8. Поново кликните командно дугме.

Динамиц Арраи Ресулт

Закључак: Екцел ВБА је аутоматски променио величину динамичког поља.

9. Када користите кључну реч РеДим, бришете све постојеће податке који су тренутно сачувани у низу. На пример, додајте следеће линијске кодове у претходно креирану коду:

ReDim numbers(3)
MsgBox numbers(1)

Резултат:

Без очувања

Низ је празан.

10. Када желите да сачувате податке у постојећем низу када га редимензионирате, користите кључну реч Пресерве.

ReDim Preserve numbers(3)
MsgBox numbers(1)

Резултат:

Са заштитом

Такође прочитајте: