{quote}{login=ZVI}{date=02.05.2011 06:18}{thema=}{post}{quote}{login=svalerievna}{date=02.05.2011 02:57}{thema=Re: Re: }{post}ZVI, подскажите, если я через VBA вбиваю формулы в ячейки и заставляю их пересчитываться, должны использоваться >1 ядра? Когда я вручную запускаю пересчет, диспетчер показывает, что загружен ЦП полностью. Но через макрос ЦП не загружен и на четверть, хотя в ином случае гораздо быстрее мог считать бы.{/post}{/quote} Если пересчет формул инициирован из VBA, кроме Range.Culculate и Range.CalculateRowMajorOrder, то многопоточные вычисления работают. При оговорках из моего предыдущего сообщения. Обычно более значительный выигрыш в скорости дает оптимизация кода, а не экстенсивный метод использования многопоточности. Но для оптимизации нужен определенный опыт. Если уж записывать формулы из VBA в ячейки, то быстрее групповые операции типа Range("АдресДиапазона").Formula = "=Формула". Если формулы разные, то лучше ими сначала зарядить VBA-массив, а затем одним действием записать формулы из массива в диапазон, и т.п.{/post}{/quote}
{quote}{login=ZVI}{date=15.07.2010 05:02}{thema=Re: }{post}{quote}{login=Юрий М}{date=15.07.2010 02:58}{thema=}{post}Я уже писал в другой теме - у меня оба ядра задействованы (простой цикл на 65000 строк). Вот только дают ли эти два ядра приращение скорости?{/post}{/quote} VBA не поддерживает работу с несколькими процессорами. Формулы Excel могут рвботать с несколькими процессорами, но вроде бы не все. И если в формулах есть вызов хоть одной неподдерживающей многопроцессорность формулы или любой пользовательской VBA-функции, то в обработке участвует только олин процессор. Остальные могут использоваться операционкой, что, в принципе, тоже как-то облегчает жизнь Excel и VBA.{/post}{/quote}
ZVI, подскажите, если я через VBA вбиваю формулы в ячейки и заставляю их пересчитываться, должны использоваться >1 ядра? Когда я вручную запускаю пересчет, диспетчер показывает, что загружен ЦП полностью. Но через макрос ЦП не загружен и на четверть, хотя в ином случае гораздо быстрее мог считать бы.
{quote}{login=EducatedFool}{date=23.03.2011 12:04}{thema=}{post}Что-то подозрительно долго производятся вычисления... {/post}{/quote}
День добрый!
А почему подозрительно долго? Регулярно сталкиваюсь с тем, что приходится делать большие отчеты с СУММЕСЛИ, СУММЕСЛИМН и ВПР по 50000 ячеек. Тут и размеры файла большие, и расчеты долгие. Одно время вычитала, что сильно увеличивают время вычислений ссылки на всю колонку, а не использованный диапазон, но попробовав оба способа ощутимой разницы в ускорении вычислений также не заметила.
Что может так сильно влиять на размер файла? Форматы? Накладывать их макросом на UsedRange в колонке или как?