Excel VBA 如何调用正常的函数 如 subtotal sum

Sub 宏1()    Range("D7").Select    '下面公式中的 11 我想换成非空单元格最后的行怎么换? 直接换成 i  ,貌似不行    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[4]C:R[11]C)"    Range("F7").Select    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],RC[2]:R[9]C[3],2,0)"    Range("F8").SelectEnd Sub 谁帮我解释解释里面的单元格是怎么定位的。=SUBTOTAL(9,R[4]C:R[11]C)=SUBTOTAL(9,D11:D18)参数之间是啥么关系? 

R[4]C:R[11]C是R1C1样式。。

你代码中先选择了D7.
Range("D7").Select

下面的代码
ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[4]C:R[11]C)"
表示在D7里面写入公式:
"=SUBTOTAL(9,R[4]C:R[11]C)"

R[4]C:R[11]C
中的R[4]C 表示相对于D7向下偏移4行,列不变,即D11,

R[11]C 表示相对于D7向下偏移11行,列不变,D18

所以呢 "=SUBTOTAL(9,R[4]C:R[11]C)"就等于=SUBTOTAL(9,D11:D18)

余下的类推即可
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-03
假如你要调用 Power函数,用这个语句 Application.WorksheetFunction.Power(x,y) 。其他函数也是一样的

参考资料:百度知道

相似回答