我的代码生成一个无限循环

Sch*_*Ben 1 excel vba excel-vba

我的代码在所有H2列中粘贴相同的公式.我没有在代码中的任何地方看到它应该这样做.

Worksheets("sheet1").Activate
Range("F2").Activate
Do Until IsEmpty(ActiveCell)
    If ActiveCell.Value <> "" Then
          Pickle = ActiveCell.Address
          ActiveCell.Offset(0, 2).Select
          ActiveCell.Value = "=IF(" + Pickle + " <TODAY(),""Send Reminder"",""Do not Send Reminder"") "
          ActiveCell.Offset(0, -2).Select
     End If 
     ActiveCell.Offset(1, 0).Select
Loop
Run Code Online (Sandbox Code Playgroud)

Sco*_*ner 7

不需要循环.使用.FormulaR1C1

不要使用Activate和Select,它们会降低代码速度

Dim lastrow As Long
With Worksheets("sheet1")
    lastrow = .Cells(.Rows.Count, "F").End(xlUp).Row
    .Range("H2:H" & lastrow).FormulaR1C1 = "=IF(RC[-2] <TODAY(),""Send Reminder"",""Do not Send Reminder"") "
End With
Run Code Online (Sandbox Code Playgroud)

这将公式一次放在所有单元格中,RC [-2]正确引用F列中的同一行