使用macrosvba中的公式运行时错误“1004”

我试图在macrosvba中插入公式,并将输出写入单元格,但我得到一个运行时错误..我不是一个vba开发人员,所以我不明白什么是错的。 我只写了一些简单的macros。这是我写到目前为止:

Sub count() Range("E6").Formula = "=SUM(IF(FREQUENCY(MATCH(A2:A96;A2:A96;0);MATCH(A2:A96;A2:A96;0))>0;1))" End Sub 

我期望在E6单元格将获得输出,只使用公式我得到51,但是当我运行macros我得到的错误..任何帮助? 谢谢

编辑:使用InputBox

  Dim myRange As Range Set myRange = Application.InputBox(Prompt:= _ "Select a Range", _ Title:="InputBox Method", Type:=8) Range("E6").Formula = "=SUM(IF(FREQUENCY(MATCH(A2:A96,A2:A96,0),MATCH(A2:A96,A2:A96,0))>0,1))" 

你应该美国风格的分隔符:

  Range("E6").Formula = "=SUM(IF(FREQUENCY(MATCH(A2:A96,A2:A96,0),MATCH(A2:A96,A2:A96,0))>0,1))" 

正如评论,这应该工作:

 Range("E6").Formula = _ "=SUM(IF(FREQUENCY(MATCH(A2:A96,A2:A96,0),MATCH(A2:A96,A2:A96,0))>0,1))"