员工信息管理在企业或公司里面是一个基本管理项目。
如果是一个小型公司或企业,完全可以用Excel来进行管理,毕竟人员流动不频繁,管理流程也较简单。
下面我们对整个管理流程及VBA实现过程进行一个整体介绍。
No.1
员工管理系统:
主要功能包括机构管理、信息录入、批量处理、查询输出、工资管理、系统管理、职务管理等。
本篇主要介绍功能有员工信息录入和机构管理两个模块。
信息录入是整个员工管理的入口,除了一些设置外,这里就是对人员信息管理的起步阶段。
包含了一个人的基本信息内容,有些做了预设处理,如编号、性别、学历、职务等。
显示控件大多以代码自动生成,根据数据表字段变化,也以任意扩展,所以普遍适用性比较强。
表单大小也随字段变化而自动调整。
No.2
职务管理很简单,单独拿来定义一个表进行处理。
只有三个字段序号、部门编号和部门。
表单内有添加、修改、删除三个常用功能。
可以对数据表进行增删改操作,调试完全通过。
根据本示例可扩展对其它表操作。
No.3
下面重点介绍代码实现
添加ListBox控件代码
Dim lobj as object
Set lobj = Me.Controls.Add("Forms.ListBox.1")'添加ListBox控件
With lobj
.Top = tobj.Top + tobj.Height + 10
.Width = Me.Width - 50
.Left = 20
.Height = Me.Height - .Top - 150
.ColumnCount =3
.ColumnHeads = True
.BackColor = RGB(111, 222, 112)
.BorderStyle = fmBorderStyleSingle
With .Font
.Size = 11
.Name = "微软雅黑"
End With
.RowSource = R.Offset(1, 0).Resize(R.Rows.Count, R.Columns.Count).Address
End With
由于ListView控件实在不太友好,所以本次对数据表的显示应用ListBox控件来制作,希望对于不同的Excel版本有更加适用性。
添加ListBox方法就是下面这一句:
Me.Controls.Add("Forms.ListBox.1")
Me 代表当前窗体变量,也可以写作如下代码:
ThisWorkbook.VBProject.VBComponents ("FormName")
其中FormName是当前窗体名。
添加Label控件
Me.Controls.Add("Forms.Label.1")
添加TextBox控件
Me.Controls.Add("Forms.TextBox.1")
方法雷同,主要是添加类型要写正确。
信息录入按钮代码
Private Sub SaveInof()
Dim cObj As Object, cArr, x As Long
ReDim cArr(0)
For Each cObj In Me.Controls'遍历窗体控件
If TypeName(cObj) = "ComboBox" Or TypeName(cObj) = "TextBox" Then
'如果是ComboBox或TextBox控件就进行保存
If VBA.Len(VBA.Trim(cObj.Value)) = 0 Then MsgBox cObj.Name & ":不能是空值!": Exit Sub
If x = 0 Then
cArr(x) = "=row()-2"
Else
ReDim Preserve cArr(x)
cArr(x) = cObj.Value
End If
x = x + 1
End If
Next cObj
Dim inS As Worksheet, ir As Long, cr As Long, inR As Range
Set inS = SetAcsheet(Sinfo)
inS.Activate
ir = GetRow(inS, 1) + 1
cr = GetColumn(inS, 2)
Set R = inS.Range(inS.Cells(ir, 1), inS.Cells(ir, cr))'定义输入表格区域
R.Value = cArr'添加信息
End Sub
以上代码是对员工信息录入表单进行的一个数据保存代码,要配合相应的表单进行处理,所以不要直接拿来用,会报错,如果喜欢可以对程序代码做一些相应的修改后再应用。
接下来会继续做其它功能。
欢迎关注、收藏