做一个能自动生成工资条的工资表.doc_第1页
做一个能自动生成工资条的工资表.doc_第2页
做一个能自动生成工资条的工资表.doc_第3页
做一个能自动生成工资条的工资表.doc_第4页
做一个能自动生成工资条的工资表.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

假设表Sheet1为数据源表,数据区域为A:B列(带标题),Sheet2为要生成的工资条 1第一种情况,一行标题,一条记录,一行空,这样方便区开,A1单元格的公式(将它右拉下拉复制公式) =IF(OR(ROW()/3COUNTA(Sheet1!$A:$A)-1,MOD(ROW(),3)=0),IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:B,INT(ROW()/3)+2,COLUMN(A:A) 2如果是直接一行标题,一行记录,每条记录中间不隔开的话,用下面的这个公式,A1单元格的公式(将它右拉下拉复制公式) =IF(ROW()/2COUNTA(Sheet1!$A:$A)-1,IF(MOD(ROW(),2),Sheet1!A$1,INDEX(Sheet1!$A:$B,INT(ROW()/2)+1,COLUMN(A:A)做工资条,对于有工资软件的单位来说,可能算不了什么事,因为软件都能提供这样的功能,可对于还在用EXCEL来做工资的单位来说,可就是一件头疼的大事了,曾经在工厂里看过行政部的同事打工资表时把表头先复制好然后一行一行插入,这样的工作量就实在太可怕了!后来找到了几种比较方便的办法,与大家分享。在EXCEL中利用工资表做工资条的方法大致可以分为两种,一种是利用宏来完成,另一种就是每次都通过一些操作去完成。我觉得两种方法各有优缺点,宏在第一次做表时可能会麻烦一些,但一劳永逸,以后不管换什么人做工作,都只需知其然而不需知其所以然,对操作人员的要求相当低;而第二种方法不用去理解复杂的VBA代码,也不用经历第一次复杂的设置,只需在每个月发工资时通过几步简单的操作,就能达到目的,但麻烦的是,操作的人不止要知其然还要知其所以然,如果这项工作换人来做,而偏偏接手的人又不会的时候,您可就需要又去培训一次啦!因为我在企业上班,人员的流动性较大,发工资的人数也比较多,所以我更倾向于用宏来解决这个问题因为只需要做好后交给使用者就可以了,不需要每个人去培训一次。下面把我知道的几种方法介绍一下。打开初始的工资表,在工具栏上单击右键,打开控件工具箱选定“命令按钮”在适当的位置添加两个命令按钮,最好选择工资表以外的区域,这样不会影响工资表的打印效果在“控件工具箱”中选择“设计模式”,然后右键单击第一个命令按钮,选择“属性”,在弹出窗口中将该命令按钮的名称设为“btnInsert”,Caption选项设为“插入表头”,如图所示按同样方法,将第二个命令按钮的名称设为“btnDelete”,Caption选项设为“删除表头”选定“插入表头”按钮,右键单击,选择“察看代码”,会弹出以下的窗口单击“插入”菜单,选择“模块”,会弹出一个模块1的代码编辑窗口在代码编辑窗口中输入下列代码,并保存(可以直接从文件中复制后在编辑窗口中粘贴)SubInsertHeader()DimrAsLong,LastRowAsLongApplication.ScreenUpdating=FalseLastRow=Sheet1.Range(A65536).End(xlUp).Rowr=5LastRow=LastRow-r+1Fori=1ToLastRowSheet1.Rows(3).CopySheet1.Rows(r).InsertShift:=xlDownr=r+2NextiApplication.CutCopyMode=FalseApplication.ScreenUpdating=TrueEndSubSubDeleteHeader()DimrAsLong,LastRowAsLongApplication.ScreenUpdating=FalseLastRow=Sheet1.Range(A65536).End(xlUp).Rowr=5LastRow=(LastRow-r+1)/2Fori=1ToLastRowSheet1.Rows(r).Deleter=r+1NextiApplication.ScreenUpdating=TrueEndSub将模块代码编辑窗口关闭,在“sheet1(工资表)”的代码编辑窗口中输入以下代码并保存PrivateSubbtnInsert_Click()InsertHeaderbtnDelete.Enabled=TruebtnInsert.Enabled=FalseEndSubPrivateSubbtnDelete_Click()DeleteHeaderbtnInsert.Enabled=TruebtnDelete.Enabled=FalseEndSubPrivateSubWorksheet_SelectionChange(ByValTargetAsR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论