运行 时间错误 1004,无法限定对象

Run Time Error 1004, cannot qualify object

附件是一个 Excel 宏的片段,其中 for 循环中的部分总是抛出错误:

run-time error 1004 "application defined or object defined error"

网上查了一下,建议在cells(xy)表达式前加一个点来更正对象的限定条件。但是,如果我将代码更改为 Range(.Cells(xyz)),则会出现另一个错误:

invalid or unqualified reference

关于如何解决这个问题有什么建议吗?

    Sub Run()

Dim n As Integer
n = Worksheets("Results").Cells(10, 8).Value
For i = 1 To n
    ActiveWorkbook.RefreshAll
    Worksheets("VBA").Range(Cells(1, i + 3), Cells(12, i + 3)).Value = Worksheets("Results").Range("F3:F14").Value
Next i

Worksheets("Results").Range("J3:L14").Value = Worksheets("VBA").Range("A1:C12").Value
Worksheets("VBA").Range(Cells(1, 4), Cells(12, i + 3)).Clear

End Sub

您需要完全限定所有单元格和范围。

放置“.”时在单元格之前,您需要像这样在 with 块内:

With Worksheets("VBA")
    .Range(.Cells(1, i + 3), .Cells(12, i + 3)).Value = Worksheets("Results").Range("F3:F14").Value
End with

这基本上是说每次函数以“.”开头。它与前面有 Worksheets("VBA") 相同:Worksheets("VBA").Cells(....)。没有所有的打字。