===
编辑:答案似乎强调这与我的语法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,但它似乎没有达到不同的结果。
非常感谢任何帮助。
答案 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"")"