VBA-урок 13

За да се спести повече от една колона от данни, ние се нуждаем от друга измерение на масива. например:

Съхраняване на данни в двумерен масив:

Освен това, има няколко примера за работа с тези стойности:

динамичен масив

Да си представим за момент, че ние трябва да актуализира данните в тази област на регулярна основа, и по тази причина не можем да зададете фиксирана стойност при декларирането.

За да намерите последната не е празна броя клетъчна линия, или с други думи, на последния ред от нашата база данни, ние използваме следната формула:

Excel не приема променливи в декларацията.

Вместо това, той ще обяви динамичен масив (с помощта на празни скоби), а след това се определи размера, с помощта ReDim:

С помощта на следната процедура, можете да съхраните цялата линия вашия набор (маса) в нашата гама:

В предишния пример, последният номер в нашата гама е LAST_ROW - 2:

Друг начин за определяне на последния номер, в нашия масив, може да бъде чрез използването на Ubound.

Тази функция връща най-голям брой в масива за избрания измерването (първото измерване е по подразбиране).

Освен това, има няколко примера, които ще изяснят това по-подробно:

Съхраняване на данни в диапазона от масив елементи

Има възможност за запълване на масив от стойности от диапазон от клетки в работния лист, дори и без използването на цикъл:

Предишният код, който може да бъде ефективно заменя със следното:

Въпреки че вторият метод изглежда по-привлекателен, отколкото първия, бъдете внимателни, че в повечето случаи може да ви струва повече време за завършване от първото.

Ако запазите данните в масива по този начин, първото число ще бъде 1, а не 0, което може да доведе до объркване.

На следващо място, в процеса на повишаване на кода, ако решите да се спаси само данните, които отговарят на специфичните критерии за търсене в масив (или да извърши съвсем различно действие), трябва да се пренапише изцяло кода с помощта на друга функция на цикъла.

Но този втори метод е много полезно, ако трябва да се съхранява на цялото съдържание на голям набор от данни, защото тя е по-бързо от цикъла (спестява около 0,2 секунди за всеки 15 000 записи).

Масивът (Array)

Едно от решенията може да бъде да се определи стойност ред по ред:

За щастие, можете да опростите кода използване масив (Array):

Тук е демонстрация Сменете използване функция (това ще ви помогне да се разбере следващия пример):

Сега, ако искаме да замени редица ценности с друг набор от данни, използването на масиви и функции за масиви, за да бъде изключително полезен:

Разделяне (Сплит)

Сплит функция ни позволява да конвертирате символен низ в масив.

За да се превърне низ в масив, направете следното:

Използвайте функцията за Сплит и уточни разделител:

En масив връща следните стойности:

Следващите 3 масиви също се връщат същите стойности:

Следващият пример връща стойността на третия ред:

VBA-урок 13

Сплит е обратна на функцията на присъединяване.

Тази функция събира стойността на масива в низ.

VBA-урок 13

Свързани статии: