下列代码的Excel VBA 424运行时错误

时间:2019-07-17 22:29:34

标签: excel vba

当我在Excel中运行以下代码时,显示424运行时错误。 但是我找不到问题的原因。

Sub A2()
    [I1] = Worksheetfuction.Average(Range("C1", "G1"))
End Sub

424错误。

2 个答案:

答案 0 :(得分:2)

您的代码中有错字:

NULL

应该是

Sub A2()
    [I1] = Worksheetfuction.Average(Range("C1", "G1"))
End Sub

K.Davis关于通过包含工作表引用使其更加明确的观点也是一种很好的实践。

答案 1 :(得分:1)

您需要使用范围对象为VBA中的范围分配值。 [I1]可以在VBA中的公式中提供引用,但是您不能为其指定值。

Sub A2()
    Range("I1").Value =  WorksheetFuction.Average(Range("C1", "G1"))
End Sub

话虽如此,我建议您使用工作表对范围对象进行限定。

Worksheets(1).Range("I1").Value = WorksheetFunction.Average(Worksheets(1).Range("C1", "G1"))

(1)是您所引用工作表的索引号或工作表名称。