|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2011, 16:11 | #1 |
Пользователь
Регистрация: 09.05.2011
Сообщений: 22
|
Как добавить элемент в динамический массив?
Не смейтесь, но никак не могу найти в VBA встроенную функцию, добавляющую элемент в конец динамического массива.
(аналог array_push() или Arr[] в PHP или push() в Perl) также не получается найти встроенную функцию сортировки массивов (аналог sort() в PHP и Perl) Допустим, я объявляю динамический массив. Его конечный размер заранее неизвестен. Код:
Моя конструкция Код:
Если не трудно, подскажите, как решаются такие задачи в VBA! Спасибо! |
21.05.2011, 16:31 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Плохо искали
Код:
Анализ,обработка данных Недорого
|
21.05.2011, 17:30 | #3 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Цитата:
Doober показал Вам как переопределить размер массива. можете еще посмотреть в сторону коллекции - это нормальный динамический массив изначально.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
21.05.2011, 18:12 | #4 |
Пользователь
Регистрация: 09.05.2011
Сообщений: 22
|
Спасибо за ответы!
Честно говоря, несколько ошарашен отсутствие в VBA подобных встроенных функций (push, pop, shift, unshift, sort и т.д.), без них становиться совсем грустно... Нормального справочника с примерами по VBA тоже не могу найти. Кстати, может подскажите такой? Как же, все-таки, наиболее быстро и грамотно сортировать массивы строк? |
22.05.2011, 20:05 | #5 | |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
Цитата:
Как то так: 1. Исх данные столбец А, сортированные данные столбец С Формулу поместить в столбце С =ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ( СЧЁТЕСЛИ($C$1:C2;$A$2:$A$51)=0;СТРО КА($A$1:$A$50));1)) 2. Или сложнее, если надо с проверкой на ошибки Исх данные столбец А, сортированные данные столбец D Формулу поместить в столбце D =ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ( $C$1:C3;$A$2:$A$51)=0;СТРОКА($A$1:$ A$50));1));"";ИНДЕКС($A$2:$A$51;НАИ МЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C3;$A$2: $A$51)=0;СТРОКА($A$1:$A$50));1))) Вот пример, не я придумал...... И ведь работает..... 3. http://www.programmersforum.ru/showthread.php?t=147263 Почитай первый пост, может поможет..... 4. где то на просторах Google мне попадался готовый макрос, по поиску и подсчету уникальных имен в списке.... Поищи.... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как добавить элемент в двумерный динамический массив? | RainCat | Помощь студентам | 1 | 13.04.2011 14:03 |
Добавить элемент в массив увеличив его размерность | Yura_n | Общие вопросы C/C++ | 3 | 05.12.2009 18:09 |
Добавить элемент в массив | MAKEDON | Общие вопросы C/C++ | 2 | 23.03.2009 18:47 |