网站大量收购独家精品文档,联系QQ:2885784924

利用VBA实现Excel电子表格自动分页统计.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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, ls, cs, lleft, lright As Integer Dim rrr As String Dim rCurrentCell As Range 每一页之分页小计所在单元格 Dim r1stSubCell As Range 小计区域第一个单元格 Public Sub 自动分页汇总() Cells(1, 1).Select On Error Resume Next t = 2 Do i = InputBox(默认为10,不能超过一页的范围!!! , 请输入每页拟打印的行数, 10) If i = 0 Or i = Then MsgBox (每页行数必须大于1!) Else Exit Do End If Loop i = Int(i) h = InputBox(起始行数,默认为5 , 请输入起始行数, 5) x = i + h lleft = InputBox(起始列数,默认为2列, 请输入起始列, 2) lright = InputBox(最终列数,默认为倒数第0列, 请输入最终列, 0) l = Range(A65536).End(xlUp).Row 本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。Range(B4).End(xlUp).Select For RowCount = 1 To Selection.Rows.Count 循环选择的每一行。 Do While l = x Rows(x + 1).Insert Shift:=xlDown 在当前工作表中Rows(x + 1)行插入空隔行 For columncount = lleft To Selection.Columns.Count - lright 循环选择的每一列。 Range(Cells(x + 1, 1), Cells(x + 1, lleft - 1)).Merge 合并单元格 Cells(x + 1, 1) = 本页合计 Cells(x + 1, columncount).Formula = =SUM(R[- + CStr(i) + ]C:R[-1]C) With ActiveSheet.Range(Cells(x + 1, 1), Cells(x + 1, Selection.Columns.Count)).Borders 边框设置 .Line = xlBorderLine .Weight = xlMedium xlThin 细线xlThick粗线 .ColorIndex = 3 End With With ActiveSheet.Range(Cells(x + 1, 1), Cells(x + 1, Sele

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档