今⽇给⼤家推出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 上述的三个属性的返回值是什么?
发布评论