i = 1
Do While Cells(i, 1) = Cells(i, 2) = Cells(i, 3) = Empty
...
i = i + 1
Loop
Скорость работы Excel VBA
(дана таблица, 3 столбца, строк неизвестно, вычисления внутри цикла для каждой строки)
Код:
For i = 1 To Cells(1, 1).CurrentRegion.Rows.Count
...
Next
...
Next
Код:
Код:
Dim sglFirst As Single, sglLast As Single
sglFirst = Timer
i = 1
Do While i < 10000
Cells(i, 1).Clear
i = i + 1
Loop
sglLast = Timer
MsgBox (sglLast - sglFirst) * 1000
sglFirst = Timer
i = 1
Do While i < 10000
Cells(i, 1).Clear
i = i + 1
Loop
sglLast = Timer
MsgBox (sglLast - sglFirst) * 1000
3. Существуют способы оптимизации кода, сокращающие время обработки, например, отключение перерисовки изображения на экране, отключение автопересчёта формул, отказ от использования методов Select и Activate и т.п.
4. Что именно Вы называете "встроенными функциями VBA"?