員工信息管理在企業或公司裡面是一個基本管理項目。
如果是一個小型公司或企業,完全可以用Excel來進行管理,畢竟人員流動不算太頻繁,管理流程也較簡單。
下面我們對整個管理流程及VBA實現過程進行一個整體介紹。
No.1
員工管理系統:
主要功能包括機構管理、信息錄入、批量處理、查詢輸出、工資管理、系統管理、職務管理等。
本篇主要介紹功能有員工信息錄入和機構管理兩個模塊。
信息錄入是整個員工管理的入口,除了一些設置外,這裡就是對人員信息管理的起步階段。
包含了一個人的基本信息內容,有些做了預設處理,如編號、性別、學歷、職務等。
顯示控制項大多以代碼自動生成,根據數據表欄位變化,也以任意擴展,所以普遍適用性比較強。
表單大小也隨欄位變化而自動調整。
No.2
職務管理很簡單,單獨拿來定義一個表進行處理。
只有三個欄位序號、部門編號和部門。
表單內有添加、修改、刪除三個常用功能。
可以對數據表進行增刪改操作,調試完全通過。
根據本示例可擴展對其它表操作。
No.3
下面重點介紹代碼實現
添加ListBox控制項代碼
Dim lobj as objectSet 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 = fmBorderStyleSingleWith .Font.Size = 11.Name = "微軟雅黑"End With.RowSource = R.Offset(1, 0).Resize(R.Rows.Count, R.Columns.Count).AddressEnd 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 LongReDim 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 SubIf x = 0 ThencArr(x) = "=row()-2"ElseReDim Preserve cArr(x)cArr(x) = cObj.ValueEnd Ifx = x + 1End IfNext cObjDim inS As Worksheet, ir As Long, cr As Long, inR As RangeSet inS = SetAcsheet(Sinfo)inS.Activateir = GetRow(inS, 1) + 1cr = GetColumn(inS, 2)Set R = inS.Range(inS.Cells(ir, 1), inS.Cells(ir, cr))'定義輸入表格區域R.Value = cArr'添加信息End Sub
以上代碼是對員工信息錄入表單進行的一個數據保存代碼,要配合相應的表單進行處理,所以不要直接拿來用,會報錯,如果喜歡可以對程序代碼做一些相應的修改後再應用。
接下來會繼續做其它功能。
歡迎關注、收藏