Excel VBA员工管理系统开发

“什么?才学了点皮毛就可以开发系统了?”我想您读到这儿 , 看到本篇的题目 , 一定会感到非常疑惑 。
如果您仔细体会了前面的小短文内容 , 就可以开始着手来试着做一些有趣的事情了 。不错!现在我们就尝试用已学到的知识来逐步开发一套小系统 。为何这么快就可以运用VBA来开始实战了呢?这就是Excel作为一个开发平台的优势!
不过 , 在未开始之前 , 还是得声明一点 , 此时编写的代码会很“古板” , 有很多约束 , 实现的功能也有限 , 你会觉得完全没有必要用VBA代码来实现 。但我们此刻的目的是让您能够体会到Excel VBA的初步魅力 , 以及使用VBA实现手动操作的方法 , 更重要的是让您巩固前一阶段所学习到的知识 。随着更加深入的学习 , 我们会逐步改善这个系统 , 使用的知识和技巧也会越多 , 系统功能也会更强大 , 系统也会越来越完善 。
系统初步规划
员工管理系统的初步构想是:
员工按表格要求填写相应的信息 。
自动汇总员工所填写的信息 。
查询某员工的信息 。
查询某员工的信息并能够自动显示在员工信息表中 , 方便打印输出 。
分析员工的信息 , 例如毕业5年的员工有多少、具备高级职称的员工有多少 。
其他一些扩展功能 。(暂时未想到 , 根据需要扩展)
表格设计
根据初步构想 , 先在Excel中设计两个工作表 。
“员工基本信息表”:便于员工填写信息 。
“员工信息数据库”:汇总员工填写的信息 。
工作表初步设计如下图所示:

Excel VBA员工管理系统开发

文章插图
其中 , “员工信息数据库”表实际上是将“员工基本信息表”中所填写的数据按数据库记录格式汇总到一张表中 。
代码
下面的代码实现将“员工基本信息表”中填写的数据写入到“员工信息数据库”中:
Sub TotalData()
‘声明Worksheet变量
Dim wksInfo As Worksheet
Dim wksBaseInfo As Worksheet
‘给wksInfo变量赋值
Set wksInfo = ThisWorkbook.Worksheets(“员工信息数据库”)
Set wksBaseInfo = ThisWorkbook.Worksheets(“员工基本信息表”)
With wksInfo
.Range(“A2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“B2”).Value
.Range(“B2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“F2”).Value
.Range(“C2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“B3”).Value
.Range(“D2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“D3”).Value
.Range(“E2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“F3”).Value
.Range(“F2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“B4”).Value
.Range(“G2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“D4”).Value
.Range(“H2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“F4”).Value
.Range(“I2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“B5”).Value
.Range(“J2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“F5”).Value
.Range(“K2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“B6”).Value
.Range(“L2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“D6”).Value
.Range(“M2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“F6”).Value
.Range(“N2”).Value = https://www.i8ku.com/2021/wksBaseInfo.Range(“B7”).Value

推荐阅读