早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求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
请高手帮忙.
谢谢
▼优质解答
答案和解析
你的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) & ")"