For Loop超出参数VBA

Cra*_*e92 0 excel vba for-loop excel-vba

我做了以下循环以使每个单元格下行,直到它到达与另一列中最后一个使用过的单元格齐平的单元格.然而,它远远超出了最后使用的细胞.它工作正常,但运行时需要更长的时间,特别是当它有30,000行时要通过!有没有人对这个有任何想法?

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
Run Code Online (Sandbox Code Playgroud)

小智 5

定义父工作表,避免一次选择并填充所有单元格.

With Worksheets("Sheet1")
    With .Range(.Cells(1, "K"), .Cells(.Rows.Count, "K").End(xlUp))
        .Offset(0, -7) = "0:00:00"
        .Offset(0, -6) = 1
    End With
End With
Run Code Online (Sandbox Code Playgroud)