Я написал код ниже, чтобы ввести текущее значение ячеек в массив строк. Есть 52k + строки и при запуске в режиме отладки, если я помещаю перерыв во втором «Do», код работает очень быстро (в секундах) после нажатия F5. Если перерыв не вводится, это занимает очень много времени (6-8 минут).VBA excel code время работы
Кто-нибудь есть идеи, почему это происходит и как это можно исправить?
Бест, Nasos
Do
ProjectIDPub(i, 0) = Cells(3 + i, 13).Value & " - " & Cells(3 + i, 3).Value
ProjectIDPub(i, 1) = Cells(3 + i, 7).Value
i = i + 1
Loop Until i = numberRowsAXProjectsSheetPub
i = 0
Do
Cells(3 + i, 14).Value = ProjectIDPub(i, 0)
Cells(3 + i, 15).Value = ProjectIDPub(i, 1)
i = i + 1
Loop Until i = numberRowsAXProjectsSheetPub
i = 0
Я не понимаю. Почему ты не делаешь этого сразу? –
Если у вас есть рабочий код, который просто нуждается в улучшениях, вы, вероятно, не в том месте с этим сообщением. [Обзор кода] (http://codereview.stackexchange.com/) - это то, где они обрабатывают существующий/рабочий код и делают все возможное, чтобы улучшить его с точки зрения скорости, безопасности, устойчивости и долговечности, включая лучшие практики. Попробуйте. Они хороши! – Ralph