powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Расчёт данных занимает 5 дней!!! HELP!
5 сообщений из 5, страница 1 из 1
Расчёт данных занимает 5 дней!!! HELP!
    #32421896
A96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
A96
Гость
Здравствуйте!
Сразу извинюсь, что мой вопрос возможно не совсем по теме форума, но всё-таки спрошу!
Итак, возникла следующая проблемка: Имеется файл EXCEL содержащий гору макросов и обрабатывающий с их помощью огромное кол-во информации!
Время на полную обработку порядка 5 дней!!!! (обалдеть просто можно!!!)
Характеристики компа: Cel 566, 96 ОЗУ.
Компютер находится в сети, к которой подключено ещё порядка 10 компьютеров которые загружены ну максимум на 20-30% (вообщем там работают только с Word-ом)!!!
Хотелось бы сделать так, чтобы все эти сетевые копьютеры в своё так сказать свободное время (в оставшиеся 70%) взяли и дружненько помогли первому копьютеру рассчитать все данные!
Я так полагаю что в память тех десяти компов надо повесить какую-то прогу,а первый комп так сказать будет просто раздавать по компьютерам задания и собирать результат! (возможно я ошибаюсь)

Вопрос: возможно ли это сделать вообще? Если да то как?
Может кто-то когда нибудь сталкивался с такой проблемой!
Заранее большое спасибо!

PS. Я конечно понимаю, что многие просто предложат написать эту прогу на другом языке программирования, а не на VBA или просто предложат оптимизировать существующий код макросов!
Но всё-таки не хотелось бы ничего переписывать, а заставить все копьютеры поработать так сказать в "одной упряжке"
...
Рейтинг: 0 / 0
Расчёт данных занимает 5 дней!!! HELP!
    #32422015
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
распределенные вычисления - это область, на исследования которой сейчас тратится миллиарды долларов. На мой взгляд, самостоятельно сделать что-то подобное просто нереально.
Попробуйте разбить задачу на логические обособленные части и вручную запустить их на разных компьютерах.

А вообще обработка "огромного кол-ва информации" - это не задача Excel, и "может в консерватории что-то подправить!?" попробуйте выбрать адекватные инструменты для решения Ваших задач.
...
Рейтинг: 0 / 0
Расчёт данных занимает 5 дней!!! HELP!
    #32422208
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну для начала надо действительно постараться с оптимизировать код, для этого ничего переписывать не надо, надо только добавить пару строчек, которые помогут Excel'ю сосредоточится над работой а не заниматься ненужными фоновыми вычислениями и обновлением экрана:

With Application
.ScreenUpdating = False
.Calculation = xlManual
.CalculateBeforeSave = False
.EnableAnimations = False
.ErrorCheckingOptions.BackgroundChecking = False
End With

Если ScreenUpdating сам после работы макроса включится, то забыв после работы макроса поменять .Calculation = xlManual, придется лезть в настройки и выбирать там автомат. (тоже самое с EnableAnimations)

По поводу совместной работы вижу токо один выход при заданных начальных условиях: разместить файл в общедоступной папке и написать макрос, коорый будет лезть к этому файлу по сети, брать свой кусок данных, выполнять его и писать в ответ обратно в файл (Excel позволяет совместно работать с фйалом). Т.е. главная задача разобрать свои данные так, чтобы макроса могли независимо брать/обрабатывать разные куски данных....как это сделать...не видя твоих данных и макросов ничего посоветовать тебе невозможно, токо идея



P.S. а вообще все-таки стоит рассмотреть идею по переводу всех этих вычислений на другие программные рельсы. Я сам как-то с таким столкнулся, когда небольшая таблица в Excel'е выросла до 30 000 строк, лопатить которые Excel уже сильно напрягало.
Просто если используется Excel, значит идет работа с таблицами, а это прерогатива Баз данных. Я уверен на все 100 процентов, что все твои вычисления можно спокойно перенести в Access, который справится с твоим объемом шутя - у него работа такая :)
...
Рейтинг: 0 / 0
Расчёт данных занимает 5 дней!!! HELP!
    #32423459
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде чем писать новую программу с распределенными вычислениями, стоит подумать, нельзя ли оптимизировать код, переписав какие-то особо долгие процедуры
...
Рейтинг: 0 / 0
Расчёт данных занимает 5 дней!!! HELP!
    #32425790
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причина подобных тормозов не в VBA, а в скорости доступа к данным самого Excel. Т.е. для того получить в Excel значение из определённой строчки и ячейки - требуется очень много времени. При больших объёмах вычислений это время складывается в часы. Единственный выход - импорт обрабатываемых данных в Access или другую БД. После чего переделать макросы, организовав доступ к данным через ADO.
А если хочется ещё быстрее, то формировать массив и выгружать в него содержимое ячеек.

Это проще, чем гнуть пальцы и устраивать распределённые вычисления с Excel.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Расчёт данных занимает 5 дней!!! HELP!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]