第一步:点击录制宏

第二步:填写宏的方法名

第三步:进行一系列的操作之后,关闭宏
第四步:根据自己的需要查看,修改宏

第六步:保存,一般是另存为,后缀名为.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是常见对象名称其及含义
