运行 时间错误 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(....)
。没有所有的打字。
附件是一个 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(....)
。没有所有的打字。