• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Excel的員工管理系統(tǒng)設(shè)計(jì)

      2019-09-10 22:28:20楊波
      中國電氣工程學(xué)報(bào) 2019年7期
      關(guān)鍵詞:花名冊窗體考勤

      楊波

      摘要:基于Excel設(shè)計(jì)并開發(fā)簡易員工管理系統(tǒng),通過VBA編寫程序代碼,以實(shí)現(xiàn)員工增加、修改和考勤管理等功能,幫助簡化員工管理工作,提高員工管理工作效率和數(shù)據(jù)可靠性。

      關(guān)鍵字:員工管理、管理系統(tǒng)、VBA編程

      前言:

      隨著公司員工數(shù)量的增加,員工信息和考勤登記工作量隨之增加,依靠傳統(tǒng)的手工登記方式工作效率低,而且數(shù)據(jù)容易出錯(cuò),考勤數(shù)據(jù)也存在人為修改,造成數(shù)據(jù)可靠性不高的缺陷。如果購買較大的人事管理系統(tǒng)則需要支出較高的軟件購買費(fèi)用和后期服務(wù)費(fèi),而且很多功能并不能得帶充分的利用,這就造成了資源浪費(fèi),同時(shí)龐大的軟件雖然功能完善,但是對于操作人員的素質(zhì)要求也更高,這就需要對工作人員進(jìn)行培訓(xùn),產(chǎn)生額外的支出,如果人員流動(dòng)又會(huì)造成不必要的麻煩。

      因此需要設(shè)計(jì)并開發(fā)一款功能適當(dāng)、操作簡單又能很好的完成員工管理工作的系統(tǒng),Excel加VBA編程就是一種很好的選擇。借助強(qiáng)大的VBA編程語言和Excel優(yōu)秀的表格管理和數(shù)據(jù)處理能力,完全能夠?qū)崿F(xiàn)員工管理系統(tǒng)設(shè)計(jì)開發(fā)。

      一、數(shù)據(jù)表格和主界面的設(shè)計(jì)

      1.系統(tǒng)主界面設(shè)計(jì)。新建工作表命名為“主界面”,通過Excel插入菜單繪制主界面,如圖1.1員工管理系統(tǒng)主界面所示,后期編寫VBA代碼,將各功能模塊添加至相應(yīng)的按鈕。

      2.數(shù)據(jù)管理表格的設(shè)計(jì)。新建“員工花名冊”、“考勤表”和“請假登記表”,根據(jù)公司員工管理需要編輯各表格的內(nèi)容及格式。

      可以將數(shù)據(jù)表隱藏只保留主界面表,或?qū)?shù)據(jù)表添加保護(hù),以保證數(shù)據(jù)不被操作人員修改,確保數(shù)據(jù)的準(zhǔn)確度。

      二、VBA編程

      1.窗體及代碼設(shè)計(jì)

      (1)員工資料管理窗體及代碼設(shè)計(jì)。根據(jù)數(shù)據(jù)管理表格格式編寫相應(yīng)代碼以實(shí)現(xiàn)員工信息增加和修改功能。

      l 對于表格中必填的用戶數(shù)據(jù)項(xiàng)目,例如員工姓名、身份證號等重要數(shù)據(jù),可用如下關(guān)鍵代碼實(shí)現(xiàn):

      Private Sub cmdSave_Click()

      If txtName.Value = "" Then '判斷姓名框是否為空

      MsgBox "請輸入員工姓名!", , "提示" '提示信息

      txtName.SetFocus '設(shè)置焦點(diǎn)到姓名框

      Exit Sub '結(jié)束子過程

      Add '調(diào)用添加數(shù)據(jù)子過程

      l 對于數(shù)據(jù)內(nèi)容有特殊格式要求的項(xiàng)目,如出生年月和入職、離職時(shí)間等,可通過如下關(guān)鍵代碼實(shí)現(xiàn):

      If Not IsDate(txtEnd.Value) Then '判斷是否為日期格式

      MsgBox "請輸入正確的離職時(shí)間!", , "提示" '提示信息

      txtEnd.SelStart = 0 '設(shè)置文本框的選取起始位置

      txtEnd.SelLength = Len(txtEnd.Value) '設(shè)置文本框選取文字的長度

      Cancel = True '焦點(diǎn)仍停留在該控件上

      End If

      如果是身份證號碼或是職工工號等,對數(shù)據(jù)類型和位數(shù)有嚴(yán)格要求的,則可以通過判斷用戶輸入的數(shù)據(jù)類型和位數(shù),檢測輸入數(shù)據(jù)是否符合要求。

      l 對于數(shù)據(jù)內(nèi)容是固定的種類,用戶只需要根據(jù)實(shí)際信息選擇相應(yīng)的內(nèi)容即可的,則可以通過復(fù)合框功能實(shí)現(xiàn),關(guān)鍵代碼如下:

      cbxEdu.AddItem "博士" '添加項(xiàng)目到“學(xué)歷”復(fù)合框

      cbxEdu.AddItem "碩士"

      cbxEdu.AddItem "本科"

      cbxEdu.AddItem "???

      l 由于員工信息修改和新增的數(shù)據(jù)表內(nèi)容是相同的,所以信息修改界面不需要單獨(dú)設(shè)計(jì)窗體,只需要在員工新增窗體中添加判斷代碼,則可以實(shí)現(xiàn)信息的修改,關(guān)鍵代碼如下:

      If strStatus = "查詢" Then '判斷是否為“查詢”狀態(tài)

      intRow = intCurrentRow '設(shè)置當(dāng)前行為查詢到的行數(shù)

      Else

      Sheets("員工花名冊").Range("A3").Select '選擇A3單元格

      intRow = ActiveCell.CurrentRegion.Rows.Count '獲取員工花名冊已有數(shù)據(jù)行數(shù)

      strBh = Cells(intRow, 1) '獲得最后編號

      If strBh = "" Then '判斷編號是否為空

      strBh = "Y0001" '若為空則添加編號“Y0001”

      Else

      strBh = "Y" & Format(Right(strBh, 4) + 1, "0000") '按規(guī)則產(chǎn)生新的編號

      intRow = intRow + 1 'intRow增加1,指向表格新的一行

      End If

      Cells(intRow, 1) = strBh '將用戶窗體上的數(shù)據(jù)填充到“員工花名冊”的新行上

      End If

      其中“txtName”、“txtEnd”、“cbxEdu”為窗體設(shè)計(jì)中該控件的名稱,可以根據(jù)實(shí)際需要定義不同的控件名稱,借助示例中的代碼進(jìn)行變換,以實(shí)現(xiàn)對數(shù)據(jù)的控制。

      (2)員工考勤窗體及代碼設(shè)計(jì)。此功能區(qū)分為考勤簽到和請假登記兩個(gè)功能模塊,可實(shí)現(xiàn)員工考勤管理。

      l 考勤簽到模塊主要有時(shí)間顯示控件和員工信息讀取控件。時(shí)間顯示控件,可以用“frmCheck.lblTime.caption = Format(Now, "hh:mm:ss")”代碼實(shí)現(xiàn);而信息讀取控件可以采用下拉列表的方式實(shí)現(xiàn),通過關(guān)鍵代碼“cbxName.RowSource = "考勤表!b5:b" & intRow”獲取考勤表數(shù)據(jù),考勤表中的員工信息則可以通過與花名冊數(shù)據(jù)核對的方式進(jìn)行自動(dòng)同步,關(guān)鍵代碼如下:

      For i = intStart To intStart + intEnd '將員工花名冊中的數(shù)據(jù)插入考勤表中

      With Sheets("考勤表")

      .Cells(i + 2, 1).EntireRow.Insert '插入一個(gè)空行

      .Cells(i + 2, 1) = Sheets("員工花名冊").Cells(i, 1).Value '將員工花名中冊的序號填寫到考勤表

      .Cells(i + 2, 2) = Sheets("員工花名冊").Cells(i, 2).Value '將員工花名冊的姓名填寫到考勤表

      End With

      Next

      編寫代碼將當(dāng)前簽到時(shí)間和上班時(shí)間進(jìn)行核對,在規(guī)定時(shí)間前完成簽到的記為正常上班,未按時(shí)完成簽到的則記為遲到或曠工。

      l 請假登記模塊主要控制請假的開始和結(jié)束日期,做到數(shù)據(jù)有效且合理,例如請假結(jié)束日期必須在開始日期之后。并且請假數(shù)據(jù)和簽到數(shù)據(jù)不沖突,即員工請假登記后他的考勤記為請假,而不是遲到或曠工。

      2.模塊代碼設(shè)計(jì)。使用不同的模塊能將相關(guān)的過程進(jìn)行聚合,便于代碼的管理,為不同模塊定制不同的行為,使代碼的可維護(hù)性和可重用性大大提高。

      (1)員工信息管理模塊的設(shè)計(jì)。該模塊主要實(shí)現(xiàn)主界面中員工資料區(qū)各按鈕對應(yīng)的彈窗控制,以及通過對“frmNew”窗體的控制實(shí)現(xiàn)員工信息修改。當(dāng)用戶在窗體中輸入相關(guān)數(shù)據(jù)之后,通過該模塊可以根據(jù)規(guī)則對用戶操作進(jìn)行彈窗提示,并將輸入數(shù)據(jù)進(jìn)行對應(yīng)的賦值。

      (2)員工考勤管理模塊的設(shè)計(jì)。該模塊主要控制員工的簽到(frmCheck)和請假(frmRegister)兩個(gè)窗體,關(guān)鍵代碼如下:

      Public Sub 考勤簽到()

      frmCheck.Show '顯示窗體

      End Sub

      同時(shí),該模塊還需要借助API函數(shù)和操作系統(tǒng)的“user32.dll”控件創(chuàng)建(銷毀)計(jì)時(shí)器,用于簽到模塊時(shí)間控件的調(diào)用。

      三、結(jié)語

      系統(tǒng)整體功能簡單,基本能夠?qū)崿F(xiàn)公司員工的信息管理和考勤記錄工作,能夠保證數(shù)據(jù)的準(zhǔn)確有效,同時(shí)系統(tǒng)的界面簡潔、操作簡單,對工作人員的技術(shù)要求度不高。后期可以考慮對系統(tǒng)進(jìn)行擴(kuò)展,采用工作證或身份證加證件閱讀器的模式,員工刷卡即可完成簽到,減少人員操作以降低人為因素造成的數(shù)據(jù)不準(zhǔn)確,提高工作效率。

      參考文獻(xiàn):

      [1]劉瓊.Excel VBA案例實(shí)戰(zhàn)從入門到精通[M].北京:機(jī)械工業(yè)出版社,2018.

      [2]羅剛君.Excel VBA程序開發(fā)自學(xué)寶典[M].北京:電子工業(yè)出版社,2014.

      猜你喜歡
      花名冊窗體考勤
      基于人臉識別技術(shù)的考勤應(yīng)用研究
      電子制作(2019年12期)2019-07-16 08:45:28
      試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
      檔案天地(2019年5期)2019-06-12 05:12:02
      智能人臉識別考勤系統(tǒng)
      電子制作(2019年9期)2019-05-30 09:42:00
      淺談歌劇詠嘆調(diào)《花名冊》的演唱特點(diǎn)
      便攜式指紋考勤信息管理系統(tǒng)設(shè)計(jì)
      點(diǎn)名
      那本熟悉的花名冊
      考古學(xué)家的兒子
      “最嚴(yán)考勤”難留學(xué)生心
      基于LayeredWindow的異形窗體局部刷新
      中文信息(2014年2期)2014-03-06 23:49:14
      东台市| 陆良县| 松江区| 怀仁县| 大渡口区| 武汉市| 尖扎县| 溧阳市| 陇南市| 潞西市| 石城县| 汉中市| 开江县| 虎林市| 仁寿县| 铁岭县| 博客| 湘阴县| 雅江县| 清水县| 调兵山市| 莱西市| 乳源| 江陵县| 绵阳市| 拉萨市| 泰兴市| 丰都县| 亳州市| 太和县| 岳阳市| 静海县| 科技| 兴义市| 南阳市| 晋州市| 永吉县| 资源县| 金塔县| 马尔康县| 林西县|