程序员的知识教程库

网站首页 > 教程分享 正文

员工信息管理,VBA编程一步一步制作-01

henian88 2025-03-23 19:47:48 教程分享 12 ℃ 0 评论

员工信息管理在企业或公司里面是一个基本管理项目。

如果是一个小型公司或企业,完全可以用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

以上代码是对员工信息录入表单进行的一个数据保存代码,要配合相应的表单进行处理,所以不要直接拿来用,会报错,如果喜欢可以对程序代码做一些相应的修改后再应用。

接下来会继续做其它功能。

欢迎关注、收藏

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表