运行时错误'1004',将公式放在acell中

时间:2014-03-21 11:36:27

标签: excel vba formula

===

编辑:答案似乎强调这与我的语法foo有关,而不是其他任何东西

===

我想要做的就是把一个公式放在一个单元格中。这是我在使用VBA之前开发的一个公式,现在我需要自动化该过程。

当我运行代码时,它很好,直到它到达这一行。

然后我收到这个错误 - 运行时错误'1004': 应用程序定义或对象定义的错误

代码包含在一个循环中,但这是针对上下文或我所犯的任何男生错误。

Sheets("Data Summary").Activate    

Dim startDate As Date
startDate = Now()

Dim i As Integer
For i = 1 To 7
startDate = DateAdd("d", 1, startDate)

cells.Range("B9").Formula = "=COUNTIFS(Discharged!$E$2:$E$200, " & _
                                " "">="" & startDate, " & _
                                " Discharged!$E$2:$E$200, " & _
                                " ""<"" & startDate.AddDays(1), " & _
                                " Discharged!$H$2:$H$200, " & _
                                " ""<24"" " 'here is the error

Next i

我已将公式拆分为单独的行,以便更容易阅读,但如果我把它全部放回一行,它就不起作用。 如果我编辑公式以便在=之前有一个空格然后代码运行但公式不会被工作表激活,它只是作为一个值存在。

我已经看过FormulaLocal函数和FormulaR1C1,但它似乎没有达到不同的结果。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

Range("B9").Formula = "=COUNTIFS(Discharged!$E$2:$E$200," & """>=" & StartDate & """, Discharged!$E$2:$E$200, " & _
                            " ""<" & DateAdd("d", 1, StartDate) & """, Discharged!$H$2:$H$200, ""<24"")"