【分享成果,随喜正能量】品味随和的人会成为智者;享受随和的人会成为慧者;拥有随和的人就拥有了一份宝贵的精神财富;善于随和的人,方能悟到随和的真谛。真正做到为人随和,确实得经过一番历练,经过一番自律,经过一番升华。为人随和一点,我们会感受到生活更加美好!

《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的积木编程思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。

这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第13讲: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)

我们看下面的代码截图:

VBA在单元格中如何录入公式插图1

代码运行前:

VBA在单元格中如何录入公式插图2

运行后:

VBA在单元格中如何录入公式插图3

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在单元格中如何录入公式插图4

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解

第1套教程(共三册):《VBA代码解决方案》是入门后的提高教程

第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)

第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解

第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解

第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用

第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解

第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用

上述教程的学习顺序:

① 7→1→3→2→6→5或者7→4→3→2→6→5。

② 7→8