第一步:点击录制宏
第二步:填写宏的方法名
第三步:进行一系列的操作之后,关闭宏
第四步:根据自己的需要查看,修改宏
第六步:保存,一般是另存为,后缀名为.xlsm,否则宏语言不能保存。
到此为止恭喜你一个简单的宏已经制作成功,当然宏也可以调用Excel中的公式,例如:sum等,排序,布局,查询,等。
Excel中常用对象的简单介绍:
对象名 | 含义 |
Application | 代表整个 Excel 应用程序。 |
Window | 代表窗口 |
Worksheet | 代表一个工作表 |
Sheets | 指定的或活动工作簿中所有工作表的集合 |
ShapeRange | 代表形状区域,它是文档中的一组形状 |
PivotTable | 代表工作表上的数据透视表 |
Workbook | 代表一个 Excel 工作簿 |
Shape | 代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片 |
Range | 代表某一单元格、某一行、某一列、某一选定区域,或者某一三维区域 |
Name | 代表单元格区域的定义名。名称可以是内置名称(如Print_Area)或自定义名称 |
Chart | 代表工作簿中的图表 |
FileDialog | 提供文件对话框,其功能与 Office 应用程序中标准的“打开”和“保存”对话框类似 |
CommandBarPopup | 代表命令栏上的一个弹出式控件 |
CommandBar | 代表容器应用程序中的一个命令栏 |
workSheet工作薄的方法
名称 | 说明 |
Add | 新建工作表、图表或宏表。新建的工作表将成为活动工作表 |
Copy | 将工作表复制到工作簿的另一位置 |
Delete | 删除对象 |
FillAcrossSheets | 将单元格区域复制到集合中所有其他工作表的同一位置 |
Move | 将工作表移到工作簿中的其他位置 |
PrintOut | 打印对象 |
PrintPreview | 按对象打印后的外观效果显示对象的预览 |
Select | 选择对象 |
算术运算符
运算符 | 功能 |
^ | 求一个数字的某次方,如 A^B |
* | 乘法运算 |
/ | 除法运算 |
\ | 对两个数作除法并返回一个整数 |
Mod | 求两数的余数 |
+ | 加法运算 |
- | 减法运算 |
比较运算符
符号 | 功能 |
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
= | 等于 |
<> | 不等于 |
逻辑运算符
符号 | 功能 |
And | 用来对两个表达式进行逻辑连接 |
Eqv | 用来对两个表达式进行逻辑等价运算 |
Imp | 用来对两个表达式进行逻辑蕴涵运算 |
Not | 用来对表达式进行逻辑否定运算 |
Or | 用来对两个表达式进行逻辑析取运算 |
Xor | 用来对两个表达式进行逻辑互斥或运算 |
字符串处理函数
作用 | 关键字 |
Option Compare | 设置字符串比较规则 |
StrComp | 比较两个字符串(字符相似判断) |
StrConv | 字符串类型转换 |
Lcase、Ucase | 大小写变换 |
Spase、String | 重复字符串 |
Len | 计算字符串长度 |
Format | 设置字符格式 |
LSet、Rset | 重排字符串 |
InStr、Left、Ltrim、Mid、Right、Rtrim、Trim | 处理字符串 |
Split、Join | 拆分与联接字符串 |
VBA的数据类型
数据类型 | 存储空间大小 | 范围 |
Byte | 1 个字节 | 0 到 255 |
Boolean | 2 个字节 | True 或 False |
Integer | 2 个字节 | -32,768 到 32,767 |
Long(长整型) | 4 个字节 | -2,147,483,648 到 2,147,483,647 |
Single(单精度浮点型) | 4 个字节 | 负数时从 -3.402823E38 到 -1.401298E-45;正数时从 1.401298E-45 到 3.402823E38 |
Double(双精度浮点型) | 8 个字节 | 负数时从 -1.79769313486231E308 到 |
Currency(变比整型) | 8 个字节 | 从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
Decimal | 14 个字节 | 没有小数点时为 +/-79,228,162,514,264,337,593,543,950,335,而小数点右边有 28 位数时为 +/-7.9228162514264337593543950335;最小的非零值为 +/-0.0000000000000000000000000001 |
Date | 8 个字节 | 100 年1月1日到9999年12月31日 |
Object | 4 个字节 | 任何 Object 引用 |
String(变长) | 10 字节加字符串长度 | 0 到大约 20 亿 |
String(定长) | 字符串长度 | 1 到大约 65,400 |
Variant(数字) | 16 个字节 | 任何数字值,最大可达 Double 的范围 |
Variant(字符) | 22 个字节加字符串长度 | 与变长 String 有相同的范围 |
用户自定义 | 所有元素所需数目 | 每个元素的范围与它本身的数据类型的范围相同。 |
数据类型的转换
函数 | 返回类型 | expression 参数范围 |
CBool | Boolean | 任何有效的字符串或数值表达式 |
CByte | Byte | 0 至 255 |
CCur | Currency | -922,337,203,685,477.5808 至922,337,203,685,477.5807 |
CDate | Date | 任何有效的日期表达式 |
CDbl | Double | 负数从 -1.79769313486231E308 至 -4.94065645841247E-324;正数从 4.94065645841247E-324 至 1.79769313486232E308 |
CDec | Decimal | 零变比数值,即无小数位数值,为+/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数值,范围则为+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。 |
CInt | Integer | -32,768 至 32,767,小数部分四舍五入 |
CLng | Long | -2,147,483,648 至 2,147,483,647,小数部分四舍五入 |
CSng | Single | 负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38 |
CStr | String | 依据 expression 参数返回 Cstr |
CVar | Variant | 若为数值,则范围与 Double 相同;若不为数值,则范围与 String 相同 |
方法参数介绍
部分 | 功能详解 |
Optional | 可选的。表示参数不是必需的关键字。如果使用了该选项,则 arglist 中的后续参数都必须是可选的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Optional |
ByVal | 可选的。表示该参数按值传递 |
ByRef | 可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项 |
ParamArray | 可选的。只用于 arglist 的最后一个参数,指明最后这个参数是一个 Variant 元素的 Optional 数组。使用 ParamArray 关键字可以提供任意数目的参数。ParamArray 关键字不能与 ByVal,ByRef,或 Optional 一起使用 |
varname | 必需的。代表参数的变量的名称;遵循标准的变量命名约定 |
type | 可选的。传递给该过程的参数的数据类型,如果没有选择参数 Optional,则可以指定用户定义类型,或对象类型 |
defaultvalue | 可选的。任何常数或常数表达式。只对 Optional 参数合法。如果类型为 Object,则显式的缺省值只能是 Nothing |
简单宏例子:
Sub 宏1()
'
' 宏1 宏
'
'
Sheets("Sheet2").Select
ActiveWindow.SmallScroll Down:=-18
Range("A1").Select
ActiveCell.FormulaR1C1 = "第一步:点击录制宏"
Range("A43").Select
ActiveCell.FormulaR1C1 = "第二步:填写宏的方法名"
Range("C45").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=21
Sheets("Sheet1").Select
ActiveWindow.SmallScroll Down:=-9
Range("C3").Select
End Sub
Sub 宏2()
'
' 宏2 宏
'
Range("B14").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-13]C:R[-1]C)"
End Sub
到此为止VBA的介绍已经完成,VBA中的语法与VB的语法基本上一样,也许会有版本不懂略有差别。
Excel有数百个对象,表4-1是常见对象名称其及含义