Excel公式错误在VBA上

我想把下面的代码放入VBA中。 理想情况下,当列A为空时,将公式应用于H列。 任何帮助,将不胜感激。 endPosition是一个variables,它包含A列为空的行#值。

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

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

  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))" 

假设公式是正确的,如果endPosition是一个variables,你不应该把它包含在string中:

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