百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

工资管理系统,Excel vba 工作表(excel做工资管理系统)

liebian365 2024-11-16 23:13 37 浏览 0 评论

工资管理首页


再次设计制作工资管理系统,相对第一个有了些许进步,自动计算方法都进行了优化设计。

从分表录入方式集成到一个Form窗体录入,不仅数据录入方便了许多,而且出错率也降低了。

基本构架图


基本构架:

  1. 工资条页面:工资录入、初始化工资表、工资表打印
  2. 人员信息设置:添加人员
  3. 系统设置
  4. 工资条:生成工资条、打印工资条
  5. 帮助

其中,还有些没有做完成的部分,没有罗列出来。

初次使用,要对人员信息进行录入。可将人员信息保存为模板,以后就只做少许更改即可完成工资制作。

工资条


以前,财务做工资表,要一个上午,甚至几天才能完成工资表制作。

我就不明白了,输入几个数据就这么难吗?

问过之后才发现,的确费时费力,原来每次都要面对宏大的数据表格逐个添加。

个人信息模板


怎么理解好呢!我也不好解释什么。

这种方法,我认为就一个字 -- 笨。

Excel这么好用的工具都被糟蹋了。

信息录入


本来5分钟可以完成的工作,为什么要半天来做,有必要吗?

或许对一些人来讲,真的有必要。

不是必要而没有好办法。

于是,经一番周折,做好工资管理系统。

然而,没什么用。

工资表


一些人,就是习惯笨笨的办法,要想让她变得轻松,还真不是一个简单的事情。

不过从另一个角度来考虑,或许是此应用非人之所用吧!

这也无所谓。

人员信息录入


此工资管理操作需要重点注意一点:

初次使用,首先对人员信息进行设置,这一步很关键,因为此后的所有计算都以人员编号为依据。

输入方面也做窗体化设计,简单操作几下把必要的姓名和入职年份输入就可以了。

当然了,也包括一些系数、保险公积金等相对固定的数据,初次要进行输入。

保存时可以选择保存为模板,下次做工资就直接引用模板数据,然后修改变化项就可以了。

简化了许多重复性数据录入工作。

每个月的变化量是必须要手动录入的,不变量可以作为模板数据进行保存。


代码:

Private Sub CommandButton1_Click()

'''''''''' 添加信息 ''''''''''''''''

On Error Resume Next

Application.ScreenUpdating = False

Dim w As Worksheet, s As Worksheet

Set w = ThisWorkbook.Worksheets("工资表")

w.Activate

Set s = ThisWorkbook.Worksheets("个人设置")

Dim iRow As Integer, iCol As Integer

Dim R As Range, Rw As Range, Rv As Range

iRow = w.Range("A65535").End(xlUp).Row

iCol = w.Range("A1").End(xlToRight).Column

Dim inR As Range

Dim cArr()

ReDim cArr(1 To iCol)

Dim cObj As Object

Dim moban As Boolean, Tdate As Date

For Each cObj In Me.Controls

If TypeName(cObj) = "ComboBox" Then

cArr(VBA.CInt(VBA.Replace(cObj.Name, "C", "", 1))) = cObj.Value

End If

If TypeName(cObj) = "CheckBox" And cObj.Name = "che" Then

moban = cObj.Value

End If

If TypeName(cObj) = "TextBox" And cObj.Name = "Dat" Then

If Not VBA.IsDate(cObj.Value) Then MsgBox "入职日期格式不正确", vbInformation, "提示": Exit Sub

If cObj.Value = "0:00:00" Then MsgBox "没有设置入职日期!", vbInformation, "提示": Exit Sub

If VBA.IsDate(cObj.Value) Then

Tdate = VBA.CDate(cObj.Value)

Else

Tdate = "1900/01/01"

End If

End If

Next cObj

cArr(1) = "=row()-1"

'''''''''''''''''' 添加数据

Set Rw = w.Range("C2:C" & iRow)

Dim Ron As Boolean

Ron = False

For Each R In Rw

If R.Value = cArr(3) Then ''''''''''' 信息已经找到修改

Set Rv = w.Range(Cells(R.Row, 1), Cells(R.Row, iCol))

cArr(16) = "=sum(F" & R.Row & ":O" & R.Row & ")" ''''应发工资赋值

cArr(22) = "=P" & R.Row & "-sum(Q" & R.Row & ":u" & R.Row & ")" ''''实发工资赋值

Rv = cArr

Ron = True

End If

Next R

If Not Ron Then '''''''''''没有找到新增信息

Dim Ri As Integer

Ri = 2

w.Rows(Ri).Insert

Set inR = w.Range(Cells(2, 1), Cells(2, iCol))

cArr(16) = "=sum(F" & Ri & ":O" & Ri & ")" ''''应发工资赋值

cArr(22) = "=P" & Ri & "-sum(Q" & Ri & ":u" & Ri & ")" ''''实发工资赋值

inR = cArr

With inR

.Borders.LineStyle = 1

.Interior.Color = RGB(235, 235, 235)

End With

End If

ThisWorkbook.Save

End Sub

代码实在太多,这里随便截取了一段,每个表格里都有不同的代码,如果对vba不太熟悉,假如有一点小问题,可能就是个大麻烦。

建议,工作当中还了解一点vba知识比较好。

文/江觅

如需要索取源码下载,请关注江觅,私信留言,获取下载链接。

相关推荐

深度解密epoll 如何工作的?(epoll基本处理流程)

epoll...

大乐透第19082期:头奖开出7注1000万分落六地 奖池41亿元

2019年7月17日晚开奖的体彩超级大乐透第19082期开奖号码为:前区06、18、20、21、31,后区03、04。本期大乐透前区号码五区比为1:0:3:0:1,二区和四区号码没有给出。当期前区和值...

【开奖】4月27日周六:福彩、体彩(2021年4月27日体彩开奖结果)

4月27日开奖福彩3D第2019110期:61222选5第2019110期:0812202122排列3第19110期:303排列5第19110期:30305大乐透第19047期:0304...

“红狒狒”落户哈尔滨铁路局(哈尔滨铁路红肠)

这几天,“红人”“红狒狒”在牡丹江机务段可引起了不小的轰动,众粉丝争相与其拍照留念,在该段人气爆棚!“红狒狒”到底何许人也?“红狒狒”,中文名:和谐3D型电力机车;绰号:红狒狒、番茄;制造商:大连机...

2D、3D、2.5D,做游戏还是搞噱头?玩家都晕了

前言游戏类型就像某种潮流,一种流行罢,另一种接棒成为主流。前两年的新作大多以“开放世界”为标签,在追求纯沙盒的过程中打造出一些细致的分类,比如说“类GTA沙盒”。诚然,纯碎的沙盒游戏并不多见,业内只有...

《战神4》PC版宣传片发布 GTX 1070即可60帧畅玩

在今年10月的时候索尼PlayStation官方正式宣布圣莫尼卡2018年的《战神4》将于2022年1月14日推出PC版本,官方在今天公布了一段PC版宣传片,并且公开了游戏的配置需求。下面让我们一起来...

男星深情好丈夫形象崩塌,半夜搂美女坐大腿,举止亲密

近日,于晓光被拍到深夜在酒吧玩,结束后与一名女子一起上车离开。上车后,女子直接坐在了他腿上,他也顺势搂着美女,美女满脸笑容地坐在他腿上玩手机离开。可能有人会好奇,于晓光是谁呢?于晓光是韩国艺人秋瓷炫的...

d3d12dll丢失怎么修复?d3d12dll加载失败怎么解决?

  d3d12.dll丢失怎么修复?d3d12.dll加载失败怎么解决?很多朋友想要运行游戏的时候都会遇到这个问题,这种情况该怎么办呢?今天系统之家小编给朋友们讲讲具体的解决方法,操作其实还蛮简单的。...

许多玩家反馈《生化4RE》PC一直崩溃 无法进入游戏

今日(3月24日),卡普空《生化危机4:重制版》正式发售,然而有部分PC玩家遇到了游戏崩溃等问题。很多玩家在贴吧发帖称游戏遇到了严重的崩溃问题,且经常反复,报错代码普遍为FatalD3Derror...

微软正式推出适用于WSL Linux的D3D12 GPU视频加速技术

今天,微软正式向WindowsSubsystemforLinux(WSL)用户发布了Direct3D12GPU视频加速支持。在微软通过WSL允许在Linux下使用Open...

《怪物猎人:崛起》曙光系统报错“Fatal d3d error”的解决办法

《怪物猎人:崛起》曙光系统报错“Fatald3derror”的解决办法不少小伙伴反应《怪物猎人:崛起》DLC曙光预载以后打不开游戏,出现了Fatald3derror类似的错误代码,这类问题的解...

Mac+双屏,前端程序员的专业配置 - Loctek 乐歌 D3D 双屏电脑显示器支架

做FE也有一段日子了,电脑屏幕每天在设计稿、浏览器、IDE、即时通讯工具、Terminal、邮箱之间切换。虽然mac的工作区带来了很多灵活,但是依然略显不足。于是入手支架,把公司配的电脑和显示器发挥起...

RPC 的原理和简单使用(rpc详解)

RPC的概念RPC,RemoteProcedureCall,翻译成中文就是远程过程调用,是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数。在调用的...

大厂开源的golang微服务rpc框架 — kitex

提前rpc估计所有的开发同学都知道,不知道的也无所谓,毕竟我也好几年没用了,今天带大家在复习一下。RPC(RemoteProcedureCall):远程过程调用,...

干货!一文掌握Protobuf所有语言所有用法,快收藏

说实话,Protobuf这个库,让人相见时难别亦难,东风无力百花残,每次等到要用它的时候,总感觉还没有完全掌握它的用法,而实际上等去百度或者谷歌的时候,教程都是多么的凌乱不堪。学会它,最直接关系到的,...

取消回复欢迎 发表评论: