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