Динамичен масив в Excel VBA - Лесни макроси на Excel

Съдържание

Ако размерът на вашия масив се увеличава и не искате да коригирате размера на масива, можете да използвате Ключова дума ReDim. Excel VBA след това автоматично променя размера на масива.

Добавете някои числа към колона А.

Поставете команден бутон на работния си лист и добавете следните кодови редове:

1. Първо, декларираме масива с имена номера. Също така декларирайте две променливи от тип Integer. Един именен размер и един на име i.

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

Забележка: масивът все още няма размер. номера, размер и аз са избрани на случаен принцип тук, можете да използвате всякакви имена. Не забравяйте да се позовавате на тези имена в останалата част от кода.

2. След това определяме размера на масива и го съхраняваме в променливия размер. Можете да използвате функцията за работен лист CountA за това. Добавете следния код:

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

3. Сега знаем размера на масива и можем да го преразмерим. Добавете следния код:

ReDim номера (размер)

4. След това инициализираме всеки елемент от масива. Използваме цикъл.

За i = 1 По размер
числа (i) = Клетки (i, 1)
Следва i

5. Показваме последния елемент от масива с помощта на MsgBox.

MsgBox номера (размер)

6. Излезте от редактора на Visual Basic и щракнете върху командния бутон на листа.

Резултат:

7. Сега, за да видите ясно защо това се нарича динамичен масив, добавете число към колона А.

8. Щракнете отново върху командния бутон.

Заключение: Excel VBA автоматично промени размера на този динамичен масив.

9. Когато използвате ключовата дума ReDim, изтривате всички съществуващи данни, съхранявани в момента в масива. Например, добавете следните кодови редове към предварително създадения код:

ReDim номера (3)
MsgBox номера (1)

Резултат:

Масивът е празен.

10. Когато искате да запазите данните в съществуващия масив, когато го преразпределяте, използвайте ключовата дума Запази.

ReDim Запазени номера (3)
MsgBox номера (1)

Резултат:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave