ECEL人事工资管理系统操作全过程.docx

上传人:b****7 文档编号:25178767 上传时间:2023-06-05 格式:DOCX 页数:46 大小:726.67KB
下载 相关 举报
ECEL人事工资管理系统操作全过程.docx_第1页
第1页 / 共46页
ECEL人事工资管理系统操作全过程.docx_第2页
第2页 / 共46页
ECEL人事工资管理系统操作全过程.docx_第3页
第3页 / 共46页
ECEL人事工资管理系统操作全过程.docx_第4页
第4页 / 共46页
ECEL人事工资管理系统操作全过程.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

ECEL人事工资管理系统操作全过程.docx

《ECEL人事工资管理系统操作全过程.docx》由会员分享,可在线阅读,更多相关《ECEL人事工资管理系统操作全过程.docx(46页珍藏版)》请在冰豆网上搜索。

ECEL人事工资管理系统操作全过程.docx

ECEL人事工资管理系统操作全过程

最新EXCEL人事工资管理系统

——建立人事工资管理系统工作簿

按照浙江省人事厅的统一部署,我市于2007年2月初进行了机关事业单位工资制度改革,这次工资制度改革是新中国成立以来第四次大的改革,与以往历次工资制度改革相比,也是情况最复杂、难度最大的一次,具体工改时要根据套改“三要素”(职务或职称、任职年限、套改年限)进行套改。

这对于具体负责工资调整的办事人员来说,增加了许多工作,就一所学校来说,工资调整时都要手工填写好几百张内容差不多的表格,工作量很大,本人经过摸索,发现用EXCEL的VBA功能可以轻松地处理调资工作,只要基础工作一次性做好后,调资就变得非常方便,下面简要地介绍一下具体的开发过程。

一、建立人事工资管理系统工作簿

1、在计算机的磁盘上建立一个名称为“2006人事工资管理系统”的EXCEL工作簿文件,并在此工作簿中建立“封面”、“欢迎界面”、“事业名册表”、“事业审批表”、“事业报批表”、“离退休名册表”、“离退休审批表”、“离退休报批表”等工作表,以及存放用户名和密码的工作表“用户密码”等组成,这些工作表事先由手工插入并重命名。

当系统运行后,一些工作表将被自动隐藏(如“用户密码”工作表)。

2、“封面”工作表是进入工资管理系统的首页,当打开工作簿和关闭工作簿时系统都将激活“封面”工作表,“封面”工作表的界面如图1所示,其设计步骤如下:

图1

(1)在当前的工作表中插入艺术字“欢迎使用《XG人事工资管理系统V1.0》”(分两行输入“欢迎使用”和“《XG人事工资管理系统V1.0》”)。

(2)选取整张工作表,将单元格颜色填充为“蓝-灰”色。

(3)将第36行至65536行、第R列至IV列全部隐藏。

由于用手工隐藏单元格比较麻烦,可在工作簿中的VBE窗口中插入一个模块1,并输入如下代码:

PrivateSub隐藏封面单元格()

Sheets("封面").Activate

Rows("36:

65536").Select'选中36行至65536行

Selection.EntireRow.Hidden=True'隐藏选中的单元格

Columns("r:

iv").Select'选中第R列至IV列

Selection.EntireColumn.Hidden=True

EndSub

代码说明:

以上代码是对选中的单元格进行隐藏,使系统封面更加美观。

上述代码输入完成后退出并保存,然后在【工具】→【宏】菜单中运行“隐藏封面单元格”宏,即可实现单元格的隐藏。

(4)执行【工具】→【选项】命令,打开【选项】对话框,单击【视图】选项卡,在“窗口选项中”中保留“水平滚动条”和“垂直滚动条”两个复选框外,取消其他的复选框(如图2)。

(5)执行【工具】→【保护】→【保护工作表】,打开【保护工作表】对话框,在“允许此工作表的所有用户进行”列表中取消选中的复选框,并输入密码(如图3)。

输入密码

图2图3

3、“欢迎界面”工作表的设计步骤与“封面”工作表的步骤基本相同,只不过界面中多了一个单位、制作者、操作提示和【人事管理系统】菜单(如图4)。

按此菜单

进入系统

图4

要隐藏“欢迎界面”工作表中的单元格,可在工作簿的VBE窗口中插入一个模块2,并输入如下代码如下:

PrivateSub隐藏欢迎界面单元格()

Sheets("欢迎界面").Activate

Rows("36:

65536").Select'选中36行至65536行

Selection.EntireRow.Hidden=True'隐藏选中的单元格

Columns("r:

iv").Select'选中第R列至IV列

Selection.EntireColumn.Hidden=True

EndSub

代码说明:

以上代码是对选中的单元格进行隐藏,使欢界面更加美观。

上述代码输入完成后退出并保存,然后在【工具】→【宏】菜单中运行“隐藏欢迎界面单元格”宏,即可实现“欢迎界面”工作表中单元格的隐藏。

至此人事工资管理系统工作簿建立完成,系统框架也基本形成。

2007年3月15日

 

通讯地址:

浙江省诸暨市滨江中路19号会计核算中心许国办公室电话

邮政编码311800Email:

网址:

最新EXCEL人事工资管理系统

——设计系统登录窗口

(一)

诸暨市教育局核算中心许国

诸暨市教育局郑文建

任何一个应用系统,都应有一个系统登录窗口,以保护应用系统的安全。

当打开应用系统时,系统将弹出登录窗口,只有输入了正确的用户名和密码后,才能进入系统。

二、用户名和密码的保存

用户名和密码既可以直接编写在登录程序中,也可以单独设计一个用来存放用户名和密码的工作表,后者具有较大的灵活性,可以随时增加用户名和密码,也可以随时更改用户名和密码。

本人事工资管理系统的登录用户名和密码的设置采用第二种方式,但用户名和密码都为预设,不能更改。

在“用户密码”工作表中的A列存放用户名(如图5),B列存放与A列用户名对应的登录密码,该工作表被保护起来,并被隐藏(用VBA代码隐藏),以防修改和泄露密码。

图5

三、用户登录窗口

1、用户登录窗口结构

用户登录窗口的结构如图6所示。

由1个用户窗体和2个标签、2个文本框及2个命令按钮组成,用户窗体和各个控件的功能及属性设置如下。

图6

(1)用户窗体:

名称重命名为“用户登录”,Caption属性设置为“用户登录”。

(2)标签Label1和Label2:

对两个文本框的功能进行说明,它们的Caption属性分别设置为“用户名”和“密码”。

(3)文本框Textbox1:

输入用户名

(4)文本框Textbox2:

输入密码,其PassworkChar属性设置为“*”。

(5)命令按钮CommandButton1:

输入正确的用户名和密码后,单击此按钮进入系统,其Caption属性设置为“进入系统”,Default属性设置为True.

(6)命令按钮CommandButton2:

退出系统,其Caption属性设置为“退出系统”。

2、登录窗口代码设计

(1)在VBE窗口的窗体设计中,双击“进入系统”按钮为其设置Click事件,程序代码如下:

PrivateSubCommandButton1_Click()

'如果出现错误,就转向错误处理程序errorhandle

OnErrorGoToerrorhandle

DimwsAsWorksheet

Setws=Worksheets("用户密码")'赋值

IfTextBox1.Text=""Then

'如果用户名为空,就将焦点移到用户名文本框,并退出程序

TextBox1.SetFocus

ExitSub:

EndIf

'如果用户名和密码都正确,就卸载用户登录窗口,

'创建自定义菜单,退出程序

Ifws.Range("a2").Text=TextBox1.Text_

Andws.Range("b2").Text=TextBox2.TextThen

Unloaduserform1

Call自定义菜单:

Sheets("欢迎界面").Activate

ExitSub

ElseIfws.Range("a2").Text=TextBox1.Text_

Andws.Range("b2").Text<>TextBox2.TextThen

MsgBox"密码错误!

",vbCritical,"警告"

TextBox2=""

TextBox2.SetFocus:

ExitSub

ElseIfws.Range("a2").Text<>TextBox1.Text_

Andws.Range("b2").Text=TextBox2.TextThen

MsgBox"用户名错误!

",vbCritical,"警告"

TextBox2=""

TextBox2.SetFocus:

ExitSub:

EndIf

MsgBox"用户名和密码不存在!

",vbCritical,"警告"

TextBox1="":

TextBox2=""

TextBox1.SetFocus:

ExitSub

errorhandle:

'进入错误处理程序

ThisWorkbook.Closesavechanges:

=False'关闭工作簿但不保存

EndSub

代码说明:

以上代码是对系统登录窗口中输入的用户名和密码与“用户密码”工作表中的用户名和密码比对,如果不正确,则弹出有关的警告信息框,如果正确,就关闭登录窗口,然后创建自定义菜单,进入欢迎界面工作簿。

(2)在VBE窗口的窗体设计中,双击“退出系统”按钮为其设置Click事件,程序代码如下:

PrivateSubCommandButton2_Click()

ThisWorkbook.Closesavechanges:

=False'关闭工作簿但不保存

EndSub

代码说明:

以上代码是在按“退出系统”按钮时关闭工作簿但不保存。

3、设计工作簿对象的Open事件程序

为了能够在打开“人事工资管理系统”工作簿时启动登录系统窗口,对工作簿对象设置Open事件程序,在VBE窗口中双击“Thisworkbook”(如图7),选择右边窗口中的Workbook和Open事件,并输入如下代码:

此处选择Workbook和Open事件

图7

PrivateSubWorkbook_Open()

Sheets("封面").Activate

Call启动系统

EndSub

代码说明:

以上代码使得在打开“人事工资管理系统”时,系统就调用“启动系统”模块,出现登录窗口。

2007年3月15日

通讯地址:

浙江省诸暨市滨江中路19号会计核算中心许国办公室电话

邮政编码311800Email:

网址:

最新EXCEL人事工资管理系统

——设计系统登录窗口

(二)

诸暨市教育局核算中心许国

诸暨市教育局郑文建

在打开“人事工资管理系统”工作簿时,首先激活工作簿对象的Open事件程序,随之会出现一个“封面工作表”和一个“登录窗口”界面,此界面需要调用下面的系统启动程序。

4、系统启动程序

在工作簿的VBE窗口中插入一个模块3,输入如下代码:

PublicSub启动系统()

Worksheets("封面").Activate

Range("a1").Activate

ActiveWindow.DisplayWorkbookTabs=False'不显示工作表标签

IfWorksheets("用户密码").Visible=TrueThen

'如果用户密码表不隐藏,就隐藏它

Worksheets("用户密码").Visible=xlSheetVeryHidden

EndIf

'保护封面工作表

ActiveSheet.ProtectDrawingObjects:

=True,contents:

=True,Scenarios:

=True

ActiveSheet.EnableSelection=xlNoSelection

userform1.Show'启动用户登录窗口

EndSub

代码说明:

以上代码首先激活“封面”工作表,然后隐藏工作表标签,判断“用户密码”工作表是否隐藏,如果不隐藏,就隐藏它,并对“封面”工作表进行保护,启动用户登录窗口。

5、人事管理菜单程序

在登录窗口中输入正确的用户名和密码后,就可进入人事管理系统的欢迎界面,如图8。

人事管理系统菜单

图8

图中的“人事管理菜单”需要调用“自定义菜单”程序,此程序可在工作簿的VBE窗口中插入一个模块4生成,其完整代码如下:

DimmymenuobjectAsCommandBarPopup

DimmymenuitemAsObject

DimmysubmenuitemAsObject

PublicSub自定义菜单()

OnErrorResumeNext'如果出现错误,就忽略它,继续运行程序

'删除已经存在的自定义菜单

Application.CommandBars

(1).Controls("【人事管理系统】").Delete

'创建自定义菜单

Setmymenuobject=Application.CommandBars

(1)._

Controls.Add(Type:

=msoControlPopup,before:

=11,temporary:

=True)

Withmymenuobject

.Caption="【人事管理系统】"

.Width=70:

.BeginGroup=True:

EndWith

'为自定义菜单添加“事业在职”主菜单并添加有关的子菜单

Call主菜单("事业在职")

Call子菜单("在职名册表","在职名册表")

Call子菜单("在职审批表","在职审批表")

Call子菜单("在职报批表","在职报批表")

Call主菜单("事业离退休")

Call子菜单("离退休名册表","离退休名册表")

Call子菜单("离退休审批表","离退休审批表")

Call子菜单("离退休报批表","离退休报批表")

EndSub

'子程序“主菜单”

PublicSub主菜单(mycapTionAsString)

Setmymenuitem=mymenuobject.Controls.Add(Type:

=msoControlPopup)

Withmymenuitem

.Caption=mycapTion

.BeginGroup=True:

EndWith

EndSub

'子程序“子菜单”

PublicSub子菜单(mycapTionAsString,myonactionAsString)

Setmysubmenuitem=mymenuitem.Controls.Add(Type:

=msoControlButton)

Withmysubmenuitem

.Caption=mycapTion

.OnAction=myonaction

.BeginGroup=True:

EndWith

EndSub

注:

为节省篇幅,在一行中使用了冒号隔开多条指令(下同)。

代码说明:

以上代码是在进入系统后首先删除已经存在的自定义菜单,然后再创建一个自定义菜单,并调用子程序的“主菜单”和“子菜单”程序。

6、激活人事管理菜单

为了能使上面创建的“人事管理系统”菜单能够使用,必须使用程序激活,可在工作簿的VBE窗口中插入一个模块5完成,其完整代码如下:

PrivateSub在职名册表()

Sheets("事业").Activate

EndSub

PrivateSub在职审批表()

Sheets("事业审批表").Activate

EndSub

PrivateSub在职报批表()

Sheets("事业(报批表)").Activate

EndSub

PrivateSub离退休名册表()

Sheets("离退休").Activate

EndSub

PrivateSub离退休审批表()

Sheets("离退休审批表").Activate

EndSub

PrivateSub离退休报批表()

Sheets("离退休(报批表)").Activate

EndSub

代码说明:

以上代码是在分别单击“人事管理系统”菜单中的“在职名册表”等子菜单时,激活自定义菜单,然后相应激活各自的工作表,激活后即可对工作表进行操作。

至此,系统登录窗口的设计工作完成,为用户提供了一个比较友好的人机交互界面。

 

2007年3月15日

 

通讯地址:

浙江省诸暨市滨江中路19号会计核算中心许国办公室电话

邮政编码311800Email:

网址:

 

最新EXCEL人事工资管理系统

——设计在职人员工改名册表

(一)

诸暨市教育局核算中心许国

诸暨市教育局郑文建

进入系统后,选择【人事管理系统】→【事业在职】→【在职名册表】菜单,即可打开“诸暨市事业单位工作人员收入分配制度改革名册表”(以下简称在职名册表),如图9。

图9

四、在职名册表

1、按工改的要求设计好此表格的相应栏目,然后输入单位工作人员的相关信息,其中A列至S列的信息由手工输入,W列的信息如果与K列的信息一致,则可由计算自动给出,如果不一致,则需手工输入,这里我们暂以手工输入为例说明,其他列的信息由计算机自动给出。

2、表中的岗位名称,职务名称要统一标准。

(1)岗位名称分为管理、专技、工人、见习。

(2)职务名称要按岗位分为四大类,其中管理岗位的职务名称分为处级正职、处级副职、科级正职、科级副职、科员、办事员;专技岗位的职务名称分为正高、副高、中级、助理级、员级;工人岗位的职务名称分为高级级技师、技师、高级工、中级工、初级工、普工。

见习岗位(即新分配人员)的职务名称为见习。

(3)岗位为见习的人员,由于在城区和非城区工作其工资标准有差别,必须在备注栏列注明是“城区”还是“非城区”。

3、需要手工输入的信息录入完成后,我们就需要对计算机自动给出的列进行处理。

(1)T列(工改前工资中的津贴30%)、U列(工改前工资中的10%浮动工资)和AB列(工改后工资中的10%浮动工资)工资标准的处理。

在工作簿的VBE窗口中插入一个模块6,并输入代码如下:

PrivateSub津贴30及浮动10()

Row=Worksheets("事业").[a65536].End(xlUp).Row'取得行数

Application.ScreenUpdating=False'关闭屏幕更新

Fori=8ToRow

'如果J列I行单元格为"管理"或者"专技",那么T列,U列,AB列的公式如下

IfRange("j"&i)="管理"OrRange("j"&i)="专技"Then

Range("T"&i)=WorksheetFunction.Round(Range("s"&i)*1.1*3/7,0)

Range("u"&i)=WorksheetFunction.Round(Range("s"&i)*0.1,0)

Range("AB"&i)=WorksheetFunction.Round((Range("Y"&i)+Range("aa"&i))*0.1,0)

'如果J列I行单元格为"工人",那么T列的公式如下,,U列和AB列的值为15

ElseIfRange("j"&i)="工人"Then

Range("T"&i)=WorksheetFunction.Round(Range("s"&i)*3/7,0)

Range("u"&i)=15

Range("AB"&i)=15

'如果J列I行单元格为"见习",并且AF列I行单元格为"非城区",那么T列的公式如下,,U列和AB列的值为0

ElseIfRange("j"&i)="见习"AndRange("af"&i)="非城区"Then

Range("T"&i)=WorksheetFunction.Round(Range("s"&i)*3/7,0)

Range("u"&i)=0

Range("AB"&i)=0

'如果J列I行单元格为"见习",并且AF列I行单元格为"城区",那么T列,U列,AA列和AB列的值为0

ElseIfRange("j"&i)="见习"AndRange("af"&i)="城区"Then

Range("T"&i)=0

Range("u"&i)=0

Range("AB"&i)=0

Range("aa"&i)=0

EndIf:

Nexti

Application.ScreenUpdating=True'打开屏幕更新

EndSub

代码说明:

以上代码是在先判断J列I行单元格以及AF列I行单元格的内容,然后根据此内容对T列、U列和AB列进行处理,自动获得相应公式或数值。

上述代码输入完成后退出并保存,然后在【工具】→【宏】菜单中运行“津贴30及浮动10”宏,即可得到T列、U列和AB列的值。

(2)Y列单元格的数据处理。

Y列为工改后的岗位工资标准,岗位工资的标准是根据现任职称或职务而定的,如中级职称为680元,要使此列的标准自动给出,需建立一个自定义函数,具体可在工作簿的VBE窗口中插入一个模块7完成,其完整代码如下:

Functiongz(aAsString)AsSingle

gz=0

'如果职务为处级正职,那么岗位工资为1045

Ifa="处级正职"Thengz=1045

ElseIfa="处级副职"Thengz=850

ElseIfa="科级正职"Thengz=720

ElseIfa="科级副职"Thengz=640

ElseIfa="科员"Thengz=590

ElseIfa="办事员"Thengz=550

ElseIfa="正高"Thengz=1420

ElseIfa="副高"Thengz=930

ElseIfa="中级"Thengz=680

ElseIfa="助理级"Thengz=590

ElseIfa="员级"Thengz=550

ElseIfa="高级技师"Thengz=830

ElseIfa="技师"Thengz=690

ElseIfa="高级工"Thengz=615

ElseIfa="中级工"Thengz=575

ElseIfa="初级工"Thengz=545

ElseIfa="普工"Thengz=540

Else:

EndIf

EndFunction

代码说明:

以上代码是一个自定义函数,函数名gz,a为变量,代表职称或职务,如职务为处级正职,则岗位工资为1045元。

上述代码输入完成后退出并保存,在Y8单元格中输入“=gz(w8)”,可得到Y8单元格的值,向下拖动此公式可得到其他单元格的岗位工资标准。

 

2007年3月15日

此文在《软件报》2007年第14期开始连载

通讯地址:

浙江省诸暨市滨江中路19号会计核算中心许国办公室电话

邮政编码311800Email:

网址:

 

最新EXCEL人事工资管理系统

——设计在职人员工改名册表

(二)

诸暨市教育局核算中心许国

诸暨市教育局郑文建

(3)X列单元格的数据处理。

X列为工改后岗位工资的岗位级别,它与岗位工资的标准或职称

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1