利用vba实现excel电子表格自动分页统计.docx

利用vba实现excel电子表格自动分页统计.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SWO分析法 SWO分析法 页脚内容 页脚内容 PAGE # 利用VBA实现Excel电子表格(工资报表)自动分页统计 作者:王志华 摘要:利用VBA编程,在Excel中启用宏命令,实现工资报表自动分 页统计,方便工资统计和查找报表错误,减少统计误差,提高工作效率。 关键词:VBA Excel工资报表 分页统计 一、 问题的提出: 随着Excel制作的电子报表越来越多,应用越来越广泛,常常遇到对 其项目进行分页统计的问题,尤其是在工资报表系统中,在手动对工资项 目进行分页统计时,如果出现人员增加、减少或人员调动产生的变换位置 的情况,就得对动辄几十、上百页的报表重新对每页手动设置公式进行分 页合计,再最后汇总,给报表的制作带来极大不便,增加了很大的工作量, 降低了工作效率。如果利用 Microsoft Visual Basic Project 即VBA编辑 宏命令,对报表进行自动分页、每页自动合计和最后总合计,将大大地减 少工作强度,提高统计工作的效率和准确性。 二、 问题的解决(功能的实现): 1、 打开Excel电子表格应用软件。 2、 点击Excel窗口菜单,从下拉菜单中点击取消隐藏菜单项,弹出对 话框如图: 3、然后点击确定,Excel自动切换到 Microsoft Excel - PERSONAL 编辑中,如图所示: 4、点击Excel菜单栏里的工具菜单,点面下来菜单里的宏选项里的录 制宏命令弹出录制新宏对话框,如图所示: 5、 点击保存在的下来箭头,选择个人宏工作簿,然后点击确认,开始 录制事先编辑好的自动分页汇总和删除分页统计的宏。 6、 按Alt+F8键,弹出启动宏命令对话框,如图所示: 7、点击新建宏命令对话框中的编辑按钮,弹出如下对话框: 8在模块中输入或编辑、调试事先编辑好的宏命令,如图所示: 9、具体自动分页汇总和、删除分页汇总宏命令如下: Dim i, h, hh, t, l, x, rr, dr, tt. Is, cs, lleft, Iright As In teger Dim rrr As Stri ng Dim rCurre ntCell As Range ' 每一页之分页小计所在单元格 Dim r1stSubCell As Ra nge ' 小计区域第一个单元格 Public Sub 自动分页汇总() Cells(1, 1).Select On Error Resume Next t = 2 Do i = InputBox(" 默认为10,不能超过一页的范围! ! !","请输入每页拟打印的行数 ",10) If i <= 0 Or i = "" The n MsgBox ("每页行数必须大于 1 !") Else Exit Do End If Loop i = In t(i) h = In putBox(" 起始行数,默认为 5 "," 请输入起始行数",5) x = i + h lleft = InputBox(" 起始列数,默认为 2列","请输入起始列",2) Iright = InputBox(" 最终列数,默认为倒数第 0列","请输入最终列",0) l = Range("A65536").End(xIUp).Row ' 本示例选定包含单元格 B4的区域中 B列顶端的单元 格。Range("B4").End(xlUp).Select 'For RowCou nt = 1 To Selecti on .Rows.Cou nt ' 循环选择的每一行。 Do While l >= x Rows(x + 1).1 nsert Shift:=xlDow n ' 在当前工作表中 Rows(x + 1)行插入空隔行 For colu mn cou nt = lleft To Selectio n.Colum ns.Cou nt - lright ' 循环选择的每一列。 Ran ge(Cells(x + 1,1), Cells(x + 1, lleft - 1)).Merge ' 合并单元格 Cells(x + 1, 1)=" 本页合计“ Cells(x + 1, colu mn cou nt).Formula = "=SUM(R[-" + CStr(i) + "]C:R[-1]C)" With ActiveSheet.Ra nge(Cells(x + 1, 1), Cells(x + 1, Selectio n.Colum ns.Cou nt)).Borders '边框设置 .Line = xlBorderL ine .Weight = xlMedium 'xlThin 细线'xlThick 粗线 .Colorl ndex = 3 End With With ActiveSheet

您可能关注的文档

文档评论(0)

dingfulaowang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档