如何利用VBA代码在单元格中录入公式


今日给大家推出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属性返回或设置单元格区域的数组公式。

好了,今日的代码方案就讲到这里。

今日内容回向:

1 expression.Formula expression.FormulaR1C1 expression.FormulaArray 意义是什么

2 上述的三个属性的返回值是什么?


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM