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

我的代码在整个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 

不需要循环。 使用.FormulaR1C1

不要使用激活和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 

这将公式放在所有单元格中,而RC [-2]正确地指向F列中的同一行