У меня есть идентичный фрагмент кода, который был запущен почти мгновенно на предыдущей итерации, которая теперь занимает около 5 минут. Я редактировал другие части кода, но всякий раз, когда я нарушаю код в течение этого 5-минутного периода времени, он работает через этот подпункт.
Sub cleanup()
For i = 2 To 100000
'exits loop when it reaches a blank cell
If IsEmpty(Cells(i, 1)) = True Then Exit For
' formats for blanks
If Cells(i, 1) = Cells(i - 1, 1) Then
For j = 4 To 15
If IsEmpty(Cells(i - 1, j)) = True Then
Cells(i - 1, j) = Cells(i, j)
End If
Next j
Rows(i).Delete
i = i - 1
End If
Next i
End Sub
Я пытался отключить события, обновление экрана и т. Д., Но не могу понять. Имейте в виду, что раньше это выполнялось буквально мгновенно, и с тех пор я изменил только другие функции в своем коде. Не уверен, что делать.
Спасибо!
**
Другая часть, которая очень странная, это то, что когда я снова запускаю макрос (после удаления всех строк), это все равно занимает очень много времени. В приведенном выше макросе второй раз через него никогда не следует даже вводить первое условное, но это все еще занимает много времени.
**