EXCEL_工资条VB制作法.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工资条制作方法 VB法 现在许多单位都实现了工资代储,但每月的工资清单(工资条)还得要发给职 工。如果用Excel程序处理的工资表,打印后每页只有一个表头,剪裁成条后除 了每页的第一名职工外,其余的就没有表头了,这样将使职工无法清楚工资条的 数字对应什么具体名目。怎样才能给每个职工的工资条加上工资表表头呢?这里 笔者将解决方案介绍给大家。 首先根据每个职工工资具有唯一电脑序号的特点,使用VB里的判断 语句,让循环从第一个电脑序号开始,如果Excel表中相邻两行的电脑序号不同, 就在这两行之间插入一个空白行,然后使用循环语句,把表头的内容依次复制粘 贴到每个空白行。 下面是具体的操作步骤: 1.在Excel中打开需要制作工资条的工资表文件。 2.打开 “工具”/ “宏”(如果在菜单中没有看见 “宏”,让鼠标在 菜单上稍停留或者按向下的双箭头就会出现),选择 “Visual Basic编辑器”(图1)打开VBA编辑器窗口,在VBAProject的工程 资源管理器中双击Sheet1,会出现代码编辑窗口,在代码编辑窗口输入如下代 码(图2): Sub gongzitiao() Application.ScreenUpdating False 为避免破坏表一,将表一内容完整复制到表二 Sheets(1).[A1].CurrentRegion.Copy Sheets(2).[A1] 定义循环变量的最大值不小于表二中职工数的二倍(我校职工总数 为2564) a (Application.WorksheetFunction.CountA(Sheets(2).[a1:a2 600] * 2 如果第一列(职工的工资电脑序号)上下单元格的值不相等,则在它 们之间插入一个空白行 For i 3 To a If Sheets(2).Cells(i,1)Sheets(2).Cells(i + 1,1) And (S heets(2).Cells(i, 1) ) Then Sheets(2).Rows(i + 1).Insert End If 如果第一列中的单元格为空,则将表中[A2:M2](工资清单表头项目) 复制到此行 If Sheets(2).Cells(i,1) Then Sheets(2).[A2:M2].Copy Sheets(2).Cells(i,1) End If Next Application.ScreenUpdating True End Sub 3.检查源代码编辑无误后,在VBA窗口中打开菜单 “运行”/ “运行 宏”,将弹出 “宏”窗口,你只需单击 “运行”即可。 4.待宏运行完毕,再回到Excel,单击工资表下方的 “Sheet2”, 于是在每两个相邻职工间就插入了工资清单项目(图3),再用打印机打印并裁条 后,就可以发放给每位职工了。 该操作在Excel 2000下调试通过 两行间插入空白行: Sub Macro1() For i = 2 To 99 If Cells(i, 1) Cells(i - 1, 1) Then If Cells(i, 1) Then Rows(i).Insert Shift:=xlDown: i = i + 1 End If Next End Sub Sub kongbai() Application.ScreenUpdating = False Sheets(1).[A1].CurrentRegion.Copy Sheets(3).[A1] a = 3000 For i = 2 To a If Sheets(3).Cells(i, 2)

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档