Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Ошибка Overflow
 
Не могу записать диапазон в массив:

Dim arrIn() As Variant
arrIn = Range("A2:R" & 25000).Value

на второй строке вылетает Overflow
 
Нехватка памяти. Надо сделать поменьше диапазон. Лучше хотя бы вычисляйте последнюю строку прежде чем диапазон загонять в массив:
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Самое интересное пока писал макрос, все работало и этот диапазон обрабатывался, когда же перезапустил эксель стала вылететь эта ошибка( Последнюю строку я вычисляю и она как раз в пределах 25000
 
А arrIn  обьявлена правильно?
Dim arrIn As ???
 
Dim arrIn() As Variant где тут можно ошибься? Попробовал без скобок тот же эффект

Ошибка появляется где то в районе 5000 строк, хотя таблица не особо "тяжелая" , числа, даты да ФИО, не может ведь так мало памяти быть((
Вся таблица "весит" где то 3 Mb

Может тогда кто знает как удалить строки в таблице с повторяющимися в определенном столбце данными? Построчно очень долго, в массив не влезает...
 
Так может имеет смысл только один столбец в массив загонять?
И как себя ведет массив если сначала объявить, затем переопределить размер и уже после этого данные поместить?
Код
Dim arrIn() As Variant 
ReDim arrIn(1 to 25000,1 to 18)
arrIn = Range("A2:R" & 25000).Value
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
При переопределении массива ошибка остается. Один столбец загоняется без проблем, но задача удалить строку в таблице целиком, я думал загнать всю таблицу в массив, найти лишние строки, удалить их из массива и выгрузить обратно. Если загнать только один столбец, можно определить номера строк на удаление,и удалять их по одной, но опять же долго. Можно конечно создать массив с номерами строк на удаление, но как их удалить все и сразу вопрос?
 
как их удалить все и сразу - создаём массив в один столбец, в него помещаем метки (как угодно анализируем данные), выгружаем метки на лист, фильтром или с помощью columndifferences по меткам удаляем сразу все строки. Быстро.
 
У меня такая ошибка,с необъяснимыми причинами, тоже один раз была.  :)
Вылечилась только удалением листа и созданием нового, в чем причина до сих пор для меня загадка.
Изменено: R Dmitry - 10 Май 2013 14:42:02
Спасибо
Страницы: 1
Читают тему (гостей: 1)
Наверх