1 / 1 / 0
Регистрация: 04.04.2015
Сообщений: 36
|
||||||
1 | ||||||
Сделать выборку значений из массива типа Range03.07.2015, 15:19. Показов 2999. Ответов 9
Метки нет (Все метки)
Здравствсуйте! Помогите доделать функцию, которая принимает массив ячеек, выбирает из него только непустые ячейки и возвращает их.
Пробовал так:
0
|
03.07.2015, 15:19 | |
Ответы с готовыми решениями:
9
Как сделать выборку по полю типа smalldatetime? Как сделать выборку из таблицы каждые 10 или n-ое кол-во значений Как сделать выборку с проводок и выгрузить в таблицу значений в 1с77? Помогите с функциями в Excel.... Есть набор значений нужно сделать выборку |
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
|
|
03.07.2015, 15:24 | 2 |
0
|
1 / 1 / 0
Регистрация: 04.04.2015
Сообщений: 36
|
|
03.07.2015, 15:43 [ТС] | 3 |
ошибка возникает уже при заполнении массива aa, как правильно заполнить массив типа Range?
Добавлено через 14 минут set м.б. и не надо, пока не знаю, т.к. ошибка возникает раньше, при заполнении массива aa. Как правильно заполнить массив ячеек?
0
|
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
|
|
03.07.2015, 15:48 | 4 |
Если мне очень не изменяет память, то Set к Array() не применяется, по крайней мере к необьявленному, безразмерному массиву.
0
|
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
03.07.2015, 16:18 | 5 |
werwolf_999, как Вы собираетесь использовать эту функцию - на листе Excel или в коде?
В первом случае функция должна возвращать массив, по размеру равный диапазону, в который введена функция.
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
03.07.2015, 16:20 | 6 |
А тут по ходу и нет массивов - явно вижу объекты Range. Хотел прредложить сделать через .SpecialCells, но пока не додумал, как добиться результата с xlCellTypeConstants и xlCellTypeFormulas, если того или иного вдруг не окажется в диапазоне.
0
|
1 / 1 / 0
Регистрация: 04.04.2015
Сообщений: 36
|
|
04.07.2015, 08:34 [ТС] | 7 |
в коде
Есть макрос, который строит график по введённым пользователем значениям. Чтобы график не обрывался на пустых значениях, я хочу их исключить, использую эту функцию. Range - это же массив ячеек? может я его так называю... В общем, функция принимает диапазон ячеек, а потом возвращает этот диапазон только без пустых ячеек. Причем, скорее всего она должна возвращать ссылки на непустые значения из входного диапазона (иначе это будет диапазон других ячеек со значениями из входного). Пример: на входе "Лист1!A1:A10", ячейка A3 пустая. Тогда функция должна возвращать "Лист1!A1:A2;Лист1!A4:A10".
0
|
3920 / 2317 / 785
Регистрация: 02.11.2012
Сообщений: 6,162
|
|
04.07.2015, 09:58 | 8 |
1. вам хотят сказать что функция не может менять диапазоны, соответственно вам нужна не функция а обычный макрос.
2. "aa As Range" массив так не объявляется, нужно так aa().
0
|
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
04.07.2015, 10:32 | 9 | |||||
Сообщение было отмечено werwolf_999 как решение
Решение
Тогда, формально, так :
1
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
11.07.2015, 09:53 | 10 |
Строго говоря - нет, здесь Вы заблуждаетесь. Так можете думать, если вам так удобней воспринимать, но на форуме фокусы с терминологией вносят путаницу. Range - это сложный объект, который, в отличие от массивов имеет кучу методов и свойств, в том числе свойств, возвращающих другие объекты, коллекции. А массив - это структура данных, присущая языку, не привязанная строго к Excel. И да, массив может содержать объекты Range (Variant), но не наоборот.
0
|
11.07.2015, 09:53 | |
11.07.2015, 09:53 | |
Помогаю со студенческими работами здесь
10
SLQ. Как сделать выборку значений из одного столбца в каждый отдельно? Как сделать выборку из массива? Как сделать выборку элементов из массива? Как сделать выборку из массива по длине строк и отсортировать ее по алфавиту? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |