第一步:点击录制宏
第二步:填写宏的方法名
第三步:进行一系列的操作之后,关闭宏
第四步:根据自己的需要查看,修改宏
第六步:保存,一般是另存为,后缀名为.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是常见对象名称其及含义