Я сделал следующее для цикла, чтобы спуститься по каждой ячейке, пока не достигнет ячейки, которая находится на уровне с последней используемой ячейкой в другом столбце. Однако он выходит далеко за пределы последней использованной ячейки. Он работает нормально, но требуется намного больше времени для запуска, особенно если у него есть 30 000 строк! У кого-нибудь есть идеи по этому поводу?Для Loop выходит за пределы параметра VBA
Dim i As Long
lMaxRows = Cells(Rows.Count, "K").End(xlUp).Row
For i = 1 To lMaxRows
Range("D" & lMaxRows + 1).Select
ActiveCell.FormulaR1C1 = "0:00:00"
lMaxRows = Cells(Rows.Count, "E").End(xlUp).Row
Range("E" & lMaxRows + 1).Select
ActiveCell.FormulaR1C1 = "1"
Next i
У вас, вероятно, есть данные ниже, чем вы ожидаете. Кроме того, вы должны прочитать [this] (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) о том, как избежать выбора. – Kyle
Рассмотрите, что вы делаете, вы сбросите 'lMaxRows' в цикле, а затем вы устанавливаете значение в' E & lMaxRows + 1', поэтому вы никогда не достигнете конца цикла. ... –
Вы перекомпилируете 'lMaxRows' на каждом проходе через цикл. –