求VBA的计算公式ActiveCell.FormulaR1C1 = "=COUNTA(" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(StartRow) & ":" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(i) & ")" 上面的公式,当i=10,StartRow=2,H列的值是P时

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 00:55:14
求VBA的计算公式ActiveCell.FormulaR1C1 =

求VBA的计算公式ActiveCell.FormulaR1C1 = "=COUNTA(" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(StartRow) & ":" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(i) & ")" 上面的公式,当i=10,StartRow=2,H列的值是P时
求VBA的计算公式
ActiveCell.FormulaR1C1 = "=COUNTA(" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(StartRow) & ":" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(i) & ")"

上面的公式,当i=10,StartRow=2,H列的值是P时,就是要计算P2到P10的行数,
可是输出之后,变成了=COUNTA('P2':'P10')
这样子,值永远=1
请高手帮忙.
谢谢

求VBA的计算公式ActiveCell.FormulaR1C1 = "=COUNTA(" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(StartRow) & ":" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(i) & ")" 上面的公式,当i=10,StartRow=2,H列的值是P时
你的Formula属性用错了,不是FormulaR1C1,这是R1C1引用格式,不能识别“A1”引用
应该直接用 Formula属性就行了:
ActiveCell.Formula = "=COUNTA(" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(StartRow) & ":" & CStr(ActiveSheet.Range("H" + CStr(i + 1)).Value) & CStr(i) & ")"