EXCEL人事工资管理系统操作全过程Word文件下载.docx

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

EXCEL人事工资管理系统操作全过程Word文件下载.docx

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

EXCEL人事工资管理系统操作全过程Word文件下载.docx

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

输入密码

图2图3

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

按此菜单

进入系统

图4

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

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

欢迎界面"

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

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

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

2007年3月15日

 

通讯地址:

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

邮政编码311800Email:

网址:

——设计系统登录窗口

(一)

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

诸暨市教育局郑文建

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

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

二、用户名和密码的保存

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

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

在“用户密码”工作表中的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("

ExitSub

ElseIfws.Range("

).Text<

>

TextBox2.TextThen

MsgBox"

密码错误!

vbCritical,"

警告"

TextBox2="

TextBox2.SetFocus:

ExitSub

TextBox1.Text_

用户名错误!

ExitSub:

用户名和密码不存在!

TextBox1="

:

TextBox2="

TextBox1.SetFocus:

errorhandle:

'

进入错误处理程序

ThisWorkbook.Closesavechanges:

=False'

关闭工作簿但不保存

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

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

PrivateSubCommandButton2_Click()

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

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

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

此处选择Workbook和Open事件

图7

PrivateSubWorkbook_Open()

Call启动系统

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

2007年3月15日

——设计系统登录窗口

(二)

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

4、系统启动程序

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

PublicSub启动系统()

Worksheets("

Range("

a1"

ActiveWindow.DisplayWorkbookTabs=False'

不显示工作表标签

IfWorksheets("

).Visible=TrueThen

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

).Visible=xlSheetVeryHidden

EndIf

保护封面工作表

ActiveSheet.ProtectDrawingObjects:

=True,contents:

=True,Scenarios:

=True

ActiveSheet.EnableSelection=xlNoSelection

userform1.Show'

启动用户登录窗口

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

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子菜单("

在职名册表"

"

在职审批表"

在职报批表"

事业离退休"

离退休名册表"

离退休审批表"

离退休报批表"

子程序“主菜单”

PublicSub主菜单(mycapTionAsString)

Setmymenuitem=mymenuobject.Controls.Add(Type:

=msoControlPopup)

Withmymenuitem

.Caption=mycapTion

子程序“子菜单”

PublicSub子菜单(mycapTionAsString,myonactionAsString)

Setmysubmenuitem=mymenuitem.Controls.Add(Type:

=msoControlButton)

Withmysubmenuitem

.OnAction=myonaction

注:

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

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

6、激活人事管理菜单

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

PrivateSub在职名册表()

事业"

PrivateSub在职审批表()

事业审批表"

PrivateSub在职报批表()

事业(报批表)"

PrivateSub离退休名册表()

离退休"

PrivateSub离退休审批表()

PrivateSub离退休报批表()

离退休(报批表)"

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

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

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

(一)

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

T"

i)=WorksheetFunction.Round(Range("

s"

i)*1.1*3/7,0)

u"

i)*0.1,0)

AB"

i)=WorksheetFunction.Round((Range("

Y"

i)+Range("

aa"

i))*0.1,0)

工人"

那么T列的公式如下,,U列和AB列的值为15

ElseIfRange("

i)*3/7,0)

i)=15

见习"

并且AF列I行单元格为"

非城区"

那么T列的公式如下,,U列和AB列的值为0

AndRange("

af"

i)=0

城区"

那么T列,U列,AA列和AB列的值为0

EndIf:

Nexti

Application.ScreenUpdating=True'

打开屏幕更新

以上代码是在先判断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

科级正职"

Thengz=720

科级副职"

Thengz=640

科员"

Thengz=590

办事员"

Thengz=550

正高"

Thengz=1420

副高"

Thengz=930

中级"

Thengz=680

ElseIfa="

助理级"

员级"

高级技师"

Thengz=830

技师"

Thengz=690

高级工"

Thengz=615

中级工"

Thengz=575

初级工"

Thengz=545

普工"

Thengz=540

Else:

EndFunction

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

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

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

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

(二)

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

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

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

当前位置:首页 >

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

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