VBA上的Excel公式错误

rvp*_*phx 4 excel vba excel-vba excel-formula

我试图将以下代码放入VBA.理想情况下,当A列为空时,将公式应用于H列.任何帮助,将不胜感激.endPosition是一个变量,它保存行#值,其中列A为空.

ActiveCell.Formula = "=SUM(N(FREQUENCY(R[endPosition]C[-1]:R[endPosition]C[-1],R[endPosition]C[-1]:R[endPosition]C[-1])>0))"
Run Code Online (Sandbox Code Playgroud)

当循环看到一个空白单元格时,最后应用此公式:

    Range("A1").Select
    beginPosition = 2 'Start from row number 2
    Do While IsEmpty(ActiveCell.Offset(1, 0)) = False
    ActiveCell.Offset(1, 0).Select
    endPosition = ActiveCell.Row
    Loop
    endPosition = endPosition + 1
    Range("H15").Select
    ActiveCell.Formula = "=SUM(N(FREQUENCY(R[endPosition]C[-1]:R[endPosition]C[-1],R[endPosition]C[-1]:R[endPosition]C[-1])>0))"
Run Code Online (Sandbox Code Playgroud)

ass*_*ias 5

假设公式是正确的,如果endPosition是变量,则不应将其包含在字符串中:

ActiveCell.FormulaR1C1 = "=SUM(N(FREQUENCY(R[" & endPosition & _
     "]C[-1]:R[" & endPosition & "]C[-1],R[" & endPosition & _
     "]C[-1]:R[" & endPosition & "]C[-1])>0))"
Run Code Online (Sandbox Code Playgroud)