Страницы: 1
RSS
Добавить новые строки в существующий массив (VBA, Variant)
 
Здравствуйте, до этого создавал массивы с четкими размерами, сейчас понадобился табличный массив в который будет добавляться новая строка.
Проблема в том, что обычный Redim удаляет все данные, пробовал и с Preserve, но там вообще ошибку выдает, видимо работает только с однодимензиональным массивом.
В общем вопрос, как легко и без танцев с бубном добавлять новую строку в массив, при этом не терять существующие данные?
Спасибо!
 
Цитата
KrabNaGalerah написал:
как легко и без танцев с бубном добавлять новую строку в массив
Никак.
PS И даже пляски с бубном не поможут.
Изменено: RAN - 05.09.2022 17:50:39
 
Здравствуйте.
Если массив одномерный, то инструкция ReDim Preserve изменяет единственную размерность с сохранением имеющихся данных.
Если массив двумерный (например), то ReDim Preserve можно изменить только последнюю размерность (т.е. строк добавить нельзя, столбцов можно)
Как вариант - решение через добавление столбцов с последующим транспонированием данных.
Еще вариант - задавать в размерности массива избыточное количество строк, а далее выводить из него только заполненные.
Кому решение нужно - тот пример и рисует.
 
Ок, спасибо за ответы, жаль конечно, что такую важную функцию не завезли.  
 
Цитата
KrabNaGalerah написал:
жаль конечно, что такую важную функцию не завезли
все заведенные функции перечислены в документации
остальные - нужно писать
если функция понадобилась вам - это не значит, что она "важная"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
как один из выходов - классы
 
New, нашел в ютубе видео от excel macro mastery, так он написал как раз таки свой класс массива и там можно и удалять и добавлять строки, на первый взгляд выглядит очень не плохо.
Страницы: 1
Наверх