宏与VBA:
目标:录制并执行宏、使用系统自带的VBA制作简单的系统
宏:是由一系列的菜单选项和操作指令组成的、用于完成特定任务的指令集合。是使用VBA语言编写出的一段程序,是一系列命令的函数。
作用:使频繁执行的动作自动化
VBA:微软公司开发出来在其桌面应用程序中执行通用的自动化任务的编程语言,主要用于扩展Windows的应用程式功能,尤其是office软件。
打开文件,在编辑栏上方弹出一个警告“安全警告:宏已被禁用”,单击按钮,弹出“Microsoft Office 安全选项”--启用此内容
- 启用或禁用宏
有时会有宏病毒存在,所以使用有宏的工作簿时必须小心谨慎。可有条件地启用或禁用宏
- 设置安全等级:
开发工具—宏安全性(会弹出“信任中心”)--宏设置—自己设置—确定
- 安全警报
打开office文档时,信任中心会检查有关数字签名中的项目。当检测到任何一项有问题时,消息栏会显示安全警报,如“宏已被禁用”。
如果点击消息栏上的“选项”—弹出“Microsoft office 安全选项”对话框—选择启用此内容/保持宏为禁止状态
- 录制宏
就是将操作过程记录下来,保存,以便重复使用。步骤:
开发工具—代码组—录制宏(弹出“录制新宏”对话框)—宏名:自设,快捷键:自设,若想加shift再加字母,就要按住shift输入字母—Enter—确定—录制开始,直接操作即可。操作完毕后—开发工具—停止录制
- 执行宏
使用“宏”对话框执行
选中要进行操作的单元格—开发工具—宏—选择要使用的宏—执行
- 使用快捷键执行
- 编辑宏
可打开visual Basic编辑器,对录制的宏所对应的代码进行编辑。步骤:
开发工具—宏—选中要编辑的宏—编辑(弹出“Microsoft visual Basic”)编辑器窗口中可以根据需要修改代码—运行—运行子过程/用户窗体
例子:设计工资系统管理界面
- 制作界面系统。不详述 如 给Excel表设计背景:页面布局—背景—插入图片
- 添加控件:以实现表格之间的切换
- 准备:八个表:“销售提成发放标准”、“销售提成”、“回款标准”、“回款绩效”、“工龄奖”、“工资明细表”、“人员档案”
- 在“人员档案”表中--开发工具—控件—插入—ActiveX控件组中的“命令按钮(ActiveX控件)”—绘制出按钮—选中按钮—开发工具—控件—属性—按字母序—弹出的属性框中都是这个按钮的属性对应的值,可修改相应的内容,如:宽高,字体,字体大小,按钮颜色,标题,其中caption表示按钮上显示的字。这里将caption修改为“人员档案”,别的自己修改
- 复制出六个命令按钮,分别将caption修改为“销售提成发放标准”、“销售提成”、“回款标准”、“回款绩效”、“工龄奖”、“工资明细表”,并适当调整别的属性—关闭“属性”对话框。
- 选中任一个按钮—开发工具—控件—查看代码(弹出Microsoft Visual Basic for Applications – 宏_工资管理系统。xlsm)编辑窗口—在代码区域输入以下代码:
Private Sub CommandButton1_Click()
Sheets("人员档案").Select
End Sub
Private Sub CommandButton2_Click()
Sheets("回款绩效").Select
End Sub
Private Sub CommandButton3_Click()
Sheets("回款标准").Select
End Sub
Private Sub CommandButton4_Click()
Sheets("销售提成").Select
End Sub
Private Sub CommandButton5_Click()
Sheets("销售提成发放标准").Select
End Sub
Private Sub CommandButton6_Click()
Sheets("工资明细表").Select
End Sub
Private Sub CommandButton7_Click()
Sheets("工龄奖").Select
End Sub
- 输入代码后,单击“关闭”按钮,返回到“人员档案”表中
- 在“人员档案”表中再次画出一个命令按钮,设置caption为“返回系统界面”—在另外7个表中也添加一个“返回系统界面”控件按钮。
- 打开代码编辑窗口—分别为所有表里的每个“返回系统界面”控件按钮添加代码:
Private Sub CommandButton8_Click()
Sheets("系统界面").Select
End Sub
- 开发工具—设计模式 退出设计模式状态。
- 此时即可链接到工作表“系统界面”中,同时,单击系统界面中的各个按钮就会切换到相应的工作表中。如图:
设计系统登录窗体:
为了限定查看权利,可设置系统登录窗口,用户只有输入正确的用户名和密码之后才可以进入该系统。
步骤:
- 在工作表“系统界面”中—开发工具—代码组—Visual Basic—弹出界面” Microsoft Visual Basic for Applications – 宏_工资管理系统.xlsm”编辑器窗口:
- 在代码编辑器窗口中的如图位置 双击ThisWorkbook:
--在右侧的区域显示如下界面:
- 输入以下代码:
Private Sub Workbook_Open()
Dim m As String
Dim n As String
Do Until m = "xiaobaihuazhuangpin"
m = InputBox("欢迎进入本系统,请输入正确的用户名", "登录", "")
If m = "xiaobaihuazhuangpin" Then
Do Until n = "123456"
n = InputBox("请输入密码", "密码", "")
If n = "123456" Then
Sheets("系统界面").Select
Else
MsgBox "您输入的密码有误,请重输!", vbOKOnly, "登录错误"
End If
Loop
Else
MsgBox "您输入的用户名有误,请重新输入!", vbOKOnly, "登录错误"
End If
Loop
End Sub
对应代码显示如下:
- 输入完毕,单击工具栏中的“保存”—关闭代码编辑器窗口—关闭工作簿
- 重新打开工作簿,这时会弹出“登录”对话框--输入用户名:shangpins,密码:123456—确定 即可进入工作簿