当前位置: 首页 > 图文教程 > 工具软件 > 办公软件 > Excel制作漂亮的工资条的方法

办公软件
源文件有改动 需刷新已导入Excel中的数据
不让Excel图表随源数据改变而改变
实时更新Excel文档外部数据源的数据
实现Excel动态链接外部数据库
从SharePoint列表往Excel导入数据
使用向导将数据从文本文件导入Excel中
Excel和Access间复制、导入和导出数据
Excel工作簿连接(导入)外部数据的方法
巧用宏快速合并200个Excel工作簿
Publisher 2007排版实例 模拟一张火车票
挽救文件 为你的WPS文件上个保险
在线版“PowerPoint”,Google演示文稿初体验
WPS表格提取身份证详细信息
巧用WPS表格制作倒计时
Word 2007自选图形操作技巧三则
Word 2007在文档中插入半页稿纸的小技巧
WPS文字插入表格简单实用技巧
关于Office文档保存的几点小常识
Office文档打印成为TIFF图形文件的步骤
巧用宏随意提取Excel单元格的批注内容

办公软件 中的 Excel制作漂亮的工资条的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 70 ::
收藏到网摘: n/a

  此文介绍了如何使用Excel进行工资条的制作,也许有些网友使用已经很长时间了,如何更快更好的做出漂亮的工资条,看看作者的方法吧。

  “小问题难倒老财务”,也许你已经在财务口上工作多年,也许你天天都要面对Excel那张老脸,也许你已经习惯了用工资明细表做员工工资统计并向上级汇报,把表中的条目一条条复制粘贴后打印发给每个员工。可你是否想过,找一个更简单更有效率的方法?看起来这似乎有些困难:在工资明细表中,工资的项目(即表头)一般只出现在表格开头的某一行,而在工资条中,为了便于阅读则要求每个人的工资都有表头,那么如何巧妙地把工资明细表制作成便于打印的工资条呢?如图所示,这就是我们要完成的工作(原工资表见图1,转换成工资条后的效果见图2):

img200708010957430

图1 原工资表

img200708010957570

图2 转换后效果

  “条条大路通罗马”,不过路有远近之分,方法也有难易之别,这里给大家提供三种最简单易用的方法。

  方法一:宏命令控制法

  对于Office家族的宏功能,大家或许早有耳闻,但由于需要使用VBA进行编程,所以宏一直让许多人望而却步,不过要使用一个现成的宏就简单多了。首先打开要处理的Excel表,选择“工具→宏→Visual Basic 编辑器”,在编辑器左边的窗口中用鼠标双击Sheet1,会出现代码编辑窗口,在代码编辑窗口输入如下代码(为了不破坏原有的工资表,所以这里采用了将 Sheet1的内容复制到Sheet2的方法,所以最后的生成结果是在Sheet2中显示):

    Sub MakeSalaryList()

    Dim i As Integer

    Dim endrow As Integer

    '测出数据的最后一行

    endrow = Sheet1.Range("a65536").End(xlUp).Row - 1

    '把标题贴过去

    Worksheets(1).Range("1:1").Copy (Worksheets(2).Cells(1, 1))

    For i = 3 To endrow

    '把每条数据抬头贴过去

    Worksheets(1).Range("2:2").Copy (Worksheets(2).Cells(3 * i - 7, 1))

    '把数据贴过去

    Worksheets(1).Range(Cells(i, 1), Cells(i, 256)).Copy (Worksheets(2).Cells(3 * i - 6, 1))

    Next i

    End Sub

 

  关闭编辑器,将自动返回到刚才的Excel表,选择“工具→宏→宏”,将弹出如下对话框:

  (见图3)

img200708010958170

图3 添加宏

  点击“执行”,将在Sheet2生成如Gz-2所示的转换成工资条,怎样,不复杂吧。当然,如果你的表总Sheet2已经输入了别的内容,就可以将他复制到Sheet3来生成,代码修改也很简单,把其中的Sheet2修改成Sheet3就可以了,其它代码不变。

  方法二:公式填充法

  相比宏命令,公式填充法更便于理解,不过需要手工操作的步骤稍微多一些,“鱼和熊掌不可得兼”,要用哪种方法就看你的爱好了。

  首先打开要操作的Excel工资表,为了不破坏原表(Sheet1)结构,我们仍然采用在Sheet2中进行操作的方法。由于这个工资表一共有L列,18行,要复制的表头项目在第二行,所以在第一个单元格中输入如下公式:

  =IF(MOD(ROW(),2)=0,INDEX(sheet1!$A:$L,INT(((ROW()+1)/2))+2,COLUMN()),sheet1!A$2)

  接下来的工作就简单了,我们只要使用填充柄将此公式填充到其它单元格,列向填充到L列,行填充到18行就大功告成。

  因为在不同的表格中这个公式需要修改的地方比较多,所以这里做一下解释:

  由于工资条中的奇数行都是表头,偶数行是数据,所以在这个公式中首先进行奇偶行判断,若是奇数行,直接取工资表的A2单元格数据(即公式中的 sheet1!A$2,如果表头数据在第4行第三列则修改为sheet1!C$4)。若是偶数行,则用INDEX()函数来取数。该函数的第一个参数是指定工资表中的一个取数区域(即sheet1!$A:$L,如果不是从A到L列,那么可以修改这个参数,如修改为sheet1!$B$P ,就表示在B到P列之间取数)。当然,如果你想把转换后的数据放在Sheet3而不是Sheet2中,那么,只要在Sheet3中执行以上操作就可以了,并不需要修改公式的内容(见图4)。

img200708010958330

图4 公式填充法

  采用这种方法不能自动插入空行,给打印后的裁减带来了一定的麻烦,所以,建议在做完后在全选所有单元格,通过调整行高和列宽来解决这个问题。

  方法三:Word邮件合并法

  对于宏和公式运用不太熟练的朋友别着急,这里还有一招等着你。

  首先我们确定好主文档(工资条表格)和数据源(Excel或Access格式的记录表),然后通过“邮件合并”向导把数据源中的的字段信息合并进来。

  点击“工具→信函与邮件→邮件合并”,然后在屏幕右侧进入“邮件合并”向导。

  第一步:选择文档类型。选择“信函”。

  第二步:选择开始文档。选择默认的“使用当前文档”。

  第三步:选取收件人。单击“使用现有列表”区的“浏览”按钮,通过“选择数据源”对话框,定位格式数据源的存放位置,选中并打开。接着弹出“邮件合并收件人”对话框,在这里可以指定参与邮件合并的记录,选择默认的“全部”,确定返回Word编辑窗口。

  第四步:撰写信函。将插入点定位于表格的第二行第一格内,单击“邮件合并”工具栏上“插入Word域”左边的“插入域”按钮,打开“插入合并域”对话框,选中“域”下方列表框中的“序号”字段,并单击“插入”按钮,即可把“序号”字段合并到主文档中。然后用同样的方法把其余字段插入到主文档表格中对应的位置即可。

  第五步:预览信函。在这里我们可以浏览一下工资条的大致效果,还可以调整“姓名”表格的宽度,让姓名在一行内显示。然后选中“姓名”后的表格区域,单击鼠标右键在弹出的菜单中选择“平均分布各列”,让这些列具有相同的宽度,使工资条更美观。如果这样直接进入打印操作,一页纸只能打印一个工资条,所以选中整个工资条表格,复制,粘贴到原表格下方空一行后的地方,把插入点定位于主文档中第一和第二个表格之间的空行处,单击“邮件合并”工具栏上的“插入Word域”按钮,在弹出的菜单中选择“下一记录”命令,以此类推,就可以在一页纸上多排几个工资表,充分利用资源了。

  最后进入第六步:完成合并。然后把工资条打印出来,就制作完成了(见图5)。

img200708010958490

图5 完成

  OK,再也不用费力地重复劳动专门制作工资条数据表了,通过简单的转化一个数据表就实现了两项完全不同的功能,赶快操练一下吧。