今日给大家推出VBA代码方案的第十八讲:如何利用VBA代码在单元格中录入公式.我们知道,在EXCEL中,录入公式是很平常的事,但在VBA中录入公式要麻烦些,要借助于Range对象的Formula属性才可以。下面用分几种途径来解决:
一:使用Range对象的Formula属性可以在单元格区域中写入公式,应用于Range对象的Formula属性返回或设置某单元格样式表示的Range对象。
其语法如下:
expression.Formula
参数expression是必需的,返回一个Range对象。
实例:如下面的代码所示。
Sub MyrngFormula()
Sheet1.Range("C2:C10").Formula = "=SUM(A2+B2)"
End Sub
代码解析:
上述代码中利用了.Formula = "=SUM(A2+B2)",我们把句话转换为EXCEL中的操作就是相当于在C2中录入公式= SUM(A2+B2),然后在C3,C4,C5,C6,C7,C8,C9,C10中复制上面的公式也就是说C3:= SUM(A3+B3); C4:= SUM(A4+B4); C5:= SUM(A5+B5); C6:= SUM(A6+B6); C7:= SUM(A7+B7); C8:= SUM(A8+B8); C9:= SUM(A9+B9); C10:= SUM(A10+B10);也就是说相当于,选中单元格,下拉的操作。
我们看下面的代码截图:
代码运行前:
运行后:
二:还可以使用FormulaR1C1属性返回或设置以R1C1-样式符号表示的公式,如下面的代码所示。
Sub MyrngFormulaRC()
Sheet2.Range("C1:C10").FormulaR1C1 = "=SUM(RC[-2]+RC[-1])"
End Sub
三:如果需要在单元格中写入数组公式则使用Range对象的FormulaArray属性。如下面的代码所示。
Sub MyRngFormulaArray()
Sheet3.Range("C1").FormulaArray = "=A1:A2*B1:B2"
End Sub
Range对象的FormulaArray属性返回或设置单元格区域的数组公式。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。