Excel VBA每隔一秒自动填充一次

我想填充一些单元格,但是我希望代码在每个循环中等待一秒钟:

Sub fill() Dim i As Long, j As Long i = 133 j = 134 For x = 1 To 5 Application.Wait (Now + TimeValue("0:00:01")) Selection.Autofill Destination:=Range("L" & i & ":L" & j), Type:=xlFillDefault Range("L131:L132").Select i = i + 1 j = j + 1 Next x End Sub 

我不断地得到以下错误:运行时错误1004:范围类的自动填充方法失败感谢您的帮助。

尝试直接分配公式:

 Sub fill() Dim i As Long, j As Long i = 133 j = 134 For x = 1 To 5 Application.Wait (Now + TimeValue("0:00:01")) Range("L" & i & ":L" & j).Formula = Selection.Formula i = i + 1 j = j + 1 Next x End Sub 

如果你想要的是列J的列L中的相应公式,那么这应该做到这一点:

 Sub fill() Dim i As Long For i = 133 To 137 Application.Wait (Now + TimeValue("0:00:01")) Range("L" & i).Formula = Range("J" & i).Formula Next i End Sub 

也许…

 Sub fill() Dim i As Long, j As Long i = 133 j = 134 For x = 1 To 5 Application.Wait (Now + TimeValue("0:00:01")) Range("L131:L132").Autofill Destination:=Range("L" & i & ":L" & j), Type:=xlFillDefault i = i + 1 j = j + 1 Next x End Sub 

使用斯科特·克莱纳的build议,这是工作代码:

 Sub fill() Dim i As Long, j As Long i = 134 For x = 1 To 5 Application.Wait (Now + TimeValue("0:00:01")) Range("L" & i) = "=Formula(J" & i & ")" i = i + 1 Next x End Sub 

谢谢