Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2013, 08:32   #21
RVS35
 
Регистрация: 08.12.2013
Сообщений: 8
По умолчанию

Получается, что обработка массивами больших объёмов данных в некоторых случаях нецелесообразна.
В частности по моему случаю из макроса идет построчный пересчет 20 тыс строк по 600 столбцов + последующая сортировка по одному столбцу. И на всё это уходит, повторюсь, 1мин 10 сек. А простой ввод-вывод из массива пустых ячеек того же количества занимает 1 мин 25 сек.
Странно как-то всё-это. Придётся развиваться "как все" по экстенсивному пути развития - наращиваю мощю компа

Последний раз редактировалось RVS35; 10.12.2013 в 09:25.
RVS35 вне форума Ответить с цитированием
Старый 10.12.2013, 10:09   #22
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Нет, должна быть быстре выгрузка... Но не смог проверить вчера на 2007, некогда было.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 10.12.2013, 22:07   #23
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вспомнил, проверил на 2007 = 2 секунды и 37. Т.е. загрузка 2, выгрузка 35.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.12.2013, 12:00   #24
RVS35
 
Регистрация: 08.12.2013
Сообщений: 8
По умолчанию

Уважаемые, подскажите начинающему. Вопрос вроде как теме соответствует.
После создания двухмерного фиксированного массива, типа
Код:
Dim M(10,10) as Currency
хотелось бы заполнить его ячейками с листа (ну и выгрузить тоже) одной строчкой , а не циклами с перебором ячеек.
Как?

Последний раз редактировалось RVS35; 13.12.2013 в 12:10.
RVS35 вне форума Ответить с цитированием
Старый 13.12.2013, 12:13   #25
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Не создавайте так массив.
Создавайте как в коде выше - из данных листа.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.12.2013, 12:23   #26
RVS35
 
Регистрация: 08.12.2013
Сообщений: 8
По умолчанию

Почему?
Хочется верить, что массив фиксированного размера с типом данных Currency в 4 байта, обрабатывается быстрее динамического Variant c16 байтами.
Нет?
RVS35 вне форума Ответить с цитированием
Старый 13.12.2013, 12:26   #27
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Обрабатывается вероятно быстрее. Вы будете повторять эту операцию в цикле миллион раз?
И кстати, размер массива какой?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.12.2013, 12:39   #28
RVS35
 
Регистрация: 08.12.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Вы будете повторять эту операцию в цикле миллион раз?
вполне возможно
Цитата:
Сообщение от Hugo121 Посмотреть сообщение
И кстати, размер массива какой?
для начала как в "условии" 11х11.
И все-таки как заполнить массив?

Последний раз редактировалось RVS35; 13.12.2013 в 12:50.
RVS35 вне форума Ответить с цитированием
Старый 13.12.2013, 12:53   #29
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

В условии не указан размер. Например у меня он 11х11
А может быть и 10х10 - этого Вы не показали.
Хорошо, тогда так - создали свой денежный, взяли в другой с листа, в цикле переложили из одного массива в другой. Будет быстрее, чем в цикле с ячеек заполнять.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 13.12.2013 в 13:02.
Hugo121 вне форума Ответить с цитированием
Старый 13.12.2013, 12:59   #30
RVS35
 
Регистрация: 08.12.2013
Сообщений: 8
Радость

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
В условии не указан размер. Например у меня он 11х11
А может быть и 10х10 - этого Вы не показали.
уже сам додумал, я ж говорю - приобщаюсь только.
А как вариант копирования циклами из Variant в Currency надо попробовать
RVS35 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в Excel даты из набора данных VHomer БД в Delphi 1 06.03.2012 13:44
Delphi + Excel, запись данных в ось Х chart-та funball БД в Delphi 0 11.01.2011 10:16
Запись в массив данных бинарного дерева m9yt Общие вопросы C/C++ 2 14.03.2010 12:49
Запись массива данных из Excel в файл txt Maxx Microsoft Office Excel 5 11.12.2009 14:00
Запись в Excel данных таблицы Word Диагностик Microsoft Office Excel 7 02.04.2009 20:55