《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过渡教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是VBA代码解决方案第十三讲:如何利用VBA在单元格中录入公式【分享成果,随喜正能量】昨日种种,皆成今我。今日种种,皆成新我。山再高,终会登顶。路再远,终会抵达。。
第十三讲 如何利用VBA在单元格中录入公式今日给大家讲解VBA代码方案的第13讲,如何利用VBA在单元格中录入公式.我们知道,在EXCEL中,录入公式是很平常的事,但在VBA中录入公式要借助于Range对象的Formula属性。下面用分几种途径来解决:
1 使用Range对象的Formula属性在单元格区域中写入公式其语法如下:expression.Formula
参数expression是必需的,是一个Range对象。
实例:如下面的代码所示。
Sub mynz_13() '第13讲 如何利用VBA在单元格中录入公式
Sheets("13").Select
Range("C2:C10").ClearContents
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)
代码运行前:
运行后:
2 使用FormulaR1C1属性返回或设置R1C1样式符号表示的公式如下面的代码所示。
Range("C1:C10").FormulaR1C1 = "=SUM(RC[-2]+RC[-1])"
3 使用Range对象的FormulaArray属性写入数组公式如果需要在单元格中写入数组公式则使用Range对象的FormulaArray属性。如下面的代码所示。
Range("C2:C10").FormulaArray = "=A2:A10+B2:B10"
Range对象的FormulaArray属性返回或设置单元格区域的数组公式。
好了,今日的代码方案就讲到这里,
今日内容回向:
1 expression.Formula expression.FormulaR1C1 expression.FormulaArray 意义是什么
2 上述的三个属性的返回值是什么?
本讲内容参考程序文件:VBA代码解决方案(1-19).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: