Я пытаюсь ускорить обрезку таблицы данных примерно с 5000 строками и 12 столбцами.
Я использовал Для каждого Цикл, который работает, но всегда устанавливает Excelв "не отвечает" некоторое время, прежде чем это будет сделано. Теперь я провел некоторое исследование и обнаружил, что с и Evaluate , очевидно, работает быстрее, но я не могу заставить его работать на меня. В итоге удаляется куча моих данных и прибегает к остальным.
Вот мой старый код, который работает, но работает медленно:
'trim everything in range
Dim Rng As Range
Set Rng = timeSheet.Range("A2:L" & lastCell)
For Each cell In Rng
If Not IsEmpty(cell.Value) Then
cell.Value = Trim(cell)
End If
Next cell
Это мой новый быстрый кодно уничтожает мои данные:
'trim everything in range 2.0
Dim Rng As Range
Set Rng = timeSheet.Range("A2:L" & lastCell)
With Rng
.Value = Evaluate("IF(ROW(" & .Address & "),CLEAN(TRIM(" & .Address & ")))")
End With
Любая идея, что не так с моим вторым кодом или другие идеи о том, как я могу ускорить первый код?
Спасибо!