为什么要学VBA
可以控制操作EXcel的代码
利用录制宏实现工资条生成
1. 调出开发者工具栏目
2. 录制宏
- 使用相对引用位置
- 初始位置在工号单元格
- 所有操作使用鼠标进行
3. 快速操作
- 利用快捷键操作 ctl+(自定义快捷键)
- 利用表格控件操作
4. 宏安全性
为了防止宏病毒,在已知安全前提下,可以调用宏文件
5. 本质代码
Sub 工资()
'
' 工资 宏
'
'
ActiveCell.Offset(2, 0).Rows("1:2").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(-2, 0).Range("A1:J1").Select
Selection.Copy
ActiveCell.Offset(3, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 0).Range("A1:J1").Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 49
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 49
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
VBA
微软开发,建立在office中应用程序开发工具
优点
- Excel,录制宏不能解决问题的对策
- 简单编辑修改,运用面广
VBA编程
编写界面的介绍
调取界面
- Alt+F11
- 开发工具——Visual Basic
- 开发工具——查看代码
- 其他
VBE窗口
工具栏
资源管理
代码
立即窗口
- 即时执行代码,显示结果
VBA代码
代码示例
Sub 复制()
'
' 宏1 宏
'
'
Selection.Copy
Range("D8").Select
ActiveSheet.Paste
Range("D8").Select
End Sub
- 开始语句 Sub 复制()
- 注释语句
'
' 宏1 宏
'
' - 代码
Selection.Copy
Range("D8").Select
ActiveSheet.Paste
Range("D8").Select - 结束语句 End Sub
实操
添加一个模块用于保存VBA
动手写Sub过程
- 选择模块
- 插入——过程
- 确定——保存
运行程序
VBA语法
Excel数据类型
- 文本
- 数值
- 日期值
- 逻辑值
- 错误值
VBA数据类型
变量
- 变量,给数据预留的内存空间
- 常量,通常用于存储某些固定的数据
声明变量
Dim 变量名 As 数据类型
- 变量名:以字母(汉字)开头,不包含特殊符号
其他定义方法
定义私有变量
private 变量名 As 数据类型
定义共有变量
public 变量名 As 数据类型
定义静态变量
当程序结束是,静态变量保持原值不变
static 变量名 As 数据类型
变量赋值
- 数据类型
[Let] 变量名称= 要存储的数据
- 中括号中关键词let可以省略,即
变量名称= 要存储的数据
- 对象类型
set 变量名称=要存储的对象名称
例子:
set sht = activesheet ’将活动工作表赋值给变量sht
对象变量运用例子
sub 对象变量()
dim sht as worksheet '定义一个工作表对象sht
set sht = activesheet ‘将活动工作表赋值给变量sht
sht.range(“A1”).value=“我在学习VBA”
end sub
tips
P50页