1. VBA入门

1.1 什么是VBA?与VB编程语言VB有什么区别?

VB是一门独立的编程语言,全称Visual Basic,VBA全称为Visual Basic for Applications,VBA是VB语言的子集,主要用于OFFICE办公软件、CAD中编写代码用于控制宿主程序实现办公自动化。

VB编写的代码在操作系统中可以独立运行(需要运行库支持),但是VBA不能独立运行,需要宿主程序的支持,如前所述的OFFICE软件和CAD等。

Office 系列(包括WPS系列)办公软件如果要使用宏命令,那就要使用VBA。下文中不做特殊说明,宏命令就是指VBA,VBA就是宏命令

1.2 如何使用Excel执行宏命令(VBA)?

两种,比较简单的一种是直接在编辑栏输入公式,另外一种是打开VBA编辑器写代码。

两种方式优缺点:

编辑栏方式:

优点:适合比较简单的计算,快速。
缺点:函数功能比较单一,只能使用系统提供的基本函数。

VBA编辑器:

优点:适合业务逻辑比较复杂的计算,以及对定制化要求比较高的业务,一次写好随时可用。
缺点:需要一点儿编程基础

1.2.1 Excel编辑栏直接输入公式

编辑栏的位置

Excel表格宏命令教学一:VBA入门_取值

如何输入公式

比如,我要计算A1 + B1 的值,并将结果放到C1 ,那么应该先用鼠标点击一下C1,然后在编辑栏里输入 ​​=SUM(A1,B1)​​ 即可

Excel表格宏命令教学一:VBA入门_Office_02

1.2.2 VBA编辑器编辑代码的方式

1.2.2.1 VBA编辑器打开方式

以Office Excel 2007和2010 为例,点击"视图"-“”-“查看宏"或者"录制宏

Excel表格宏命令教学一:VBA入门_VBA_03


注意,如果第一次点击“查看宏”,里面是空的,如下图:

Excel表格宏命令教学一:VBA入门_取值_04

此时,需要创建宏,在编辑栏栏里输入MyTest,点击“创建©”,就会打开VBA编辑器了。或者点击“编辑” ,也能打开VBA编辑器。如下图:宏的名称可以随意更改。

Excel表格宏命令教学一:VBA入门_Office_05


点击创建或者“编辑”之后会看到下面图:

Excel表格宏命令教学一:VBA入门_取值_06

接下来就是写代码了

1.2.2.2 VBA编辑器编辑代码

首先,我们来用编辑器实现一个刚才的加法功能,​​C1 = A1 + B1​​ 我们不使用自带的SUM函数,而是自己来实现这个功能怎么做呢?看下面

Excel表格宏命令教学一:VBA入门_VBA_07

可以复制粘贴下面代码到上面编辑框里

Sub mysum()

' 使用Range()函数取值,range("B1"),表示 excel表格里 B1 单元格的值,既可以取值,又可以设置值,取值: a=Range("B1") 设置值:Range("B1") = 5


Range("C1") = Range("A1") + Range("B1") 'C1 = A1 + B1

' 或者使用Cells()函数取值,Cells(1,2) 表示第一行第二列的数据,以此类推,既可以取值,又可以设置值,取值: a=Cells(1, 2)设置值:Cells(1, 2)= 5

Cells(1, 3) = Cells(1, 1) + Cells(1, 2) 'C1 = A1 + B1

'
End Sub

然后回到Excel表格,点击"宏"- “查看宏”,然后点击“执行”,查看结果

Excel表格宏命令教学一:VBA入门_VBA_08

执行后查看结果:

Excel表格宏命令教学一:VBA入门_Office_09


如此,就自己实现了加法功能。推而广之,再复杂的逻辑,也可以自己写了。

入门阶段就是如此了。