ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ljxlwq_0803

[求助] 求助:EXCEL工资表用VBA代码自动生成“本页小计”,“总计”

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-3 13:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
yaozong 发表于 2018-10-3 11:37
插入人工分页符

Sub 插入小计合计()

老师您好:我是新手中新手,代码不太明白,您能不能帮我把这代码“整理”下,谢谢!!

自动分页小计(带总计)2-1.rar

34.94 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2018-10-3 13:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ljxlwq_0803 发表于 2018-10-3 11:15
老师您好:VBA设置打印格式(横向打印)的代码能帮我一起写进去吗?我是新手,不太懂。万分感谢!!
  1. Sub 打印()
  2.     Dim c As Range, s$, r%, n%, x%, y%, a%, b%
  3.     r = Range("a65536").End(3).Row
  4.     s = "本页小计"
  5.     On Error Resume Next
  6.     n = Application.Match(s, ActiveSheet.Range("A1:A" & r), 0)
  7.     If Err.Number = 0 Then
  8.         x = n - 4                   '每页正表行数(不包括表头表尾)
  9.         y = WorksheetFunction.RoundUp((r - 6) / x, 0)   '共有几页
  10.         For i = 1 To y                                 '循环
  11.             If y = 1 Then                              '如果只有一页
  12.                 With ActiveSheet.PageSetup
  13.                     .Zoom = False        '不设置页面缩放固定比例择
  14.                     .FitToPagesWide = 1  '页面缩放,调整为一页高
  15.                     .FitToPagesTall = 1  '页面缩放,调整为一页宽
  16.                     .BlackAndWhite = True       '单色打印
  17.                     .Orientation = xlLandscape    '横向打印
  18.                     Range("a1:U" & r).PrintPreview  '打印预览
  19.                 End With
  20.             Else
  21.                 If i = 1 Then
  22.                     a = x + 5
  23.                     Rows(a & ":" & r - 1).EntireRow.Hidden = True
  24.                 End If
  25.                 If i > 1 And i < y Then
  26.                     Rows(5 & ":" & (i - 1) * x + 4).EntireRow.Hidden = True
  27.                     Rows(i * x + 5 & ":" & r - 1).EntireRow.Hidden = True
  28.                 End If
  29.                 If i = y Then
  30.                     b = (i - 1) * x + 4
  31.                     Rows("5:" & b).EntireRow.Hidden = True
  32.                 End If
  33.             End If
  34.             With ActiveSheet.PageSetup
  35.                 .Zoom = False        '不设置页面缩放固定比例择
  36.                 .FitToPagesWide = 1  '页面缩放,调整为一页高
  37.                 .FitToPagesTall = 1  '页面缩放,调整为一页宽
  38.                 .BlackAndWhite = True        '单色打印
  39.                 .Orientation = xlLandscape    '横向打印
  40.                 Range("a1:U" & r).PrintPreview  '打印预览
  41.             End With
  42.             Rows(1 & ":" & r).EntireRow.Hidden = False
  43.         Next
  44.     Else
  45.         MsgBox "没有查到"
  46.     End If
  47. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-10-3 13:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
自动分页小计(带总计)2.rar (44.22 KB, 下载次数: 68)
打印采取隐藏不打印行的方法,
自动调整宽度高度为一页,
单色打印

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-3 14:54 | 显示全部楼层
本帖最后由 ljxlwq_0803 于 2018-10-3 15:13 编辑
hzruziniu 发表于 2018-10-3 13:58
打印采取隐藏不打印行的方法,
自动调整宽度高度为一页,
单色打印

老师您好:我这边测试了,小计列从G到T列(F列<出勤列>不要小计,看了老师的代码,Range(Cells(b + 1, 1), Cells(b + 1, 6)).MergeCells = True              '合并单元格
        Range(Cells(b + 1, 1), Cells(b + 1, 6)).HorizontalAlignment = xlCenter   '居中对齐),“本页小计”单元格也是合并在一起了,真的太感谢您了。比如我选打25行(不包括表头及表尾),页面显示很完美,打印预览时,显示有有35行左右(1-25行,下一行为“本页小计”,26行-35行也显示在第一页中),麻烦老师再帮我看下?谢谢!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-3 15:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hzruziniu 发表于 2018-10-3 13:58
打印采取隐藏不打印行的方法,
自动调整宽度高度为一页,
单色打印

老师您好:其他很完美了,打印时,比如我选25行,预览效果(如图3),最后一页中,"本页小计"和"总计"下面还有一行(如图4),请问这个该如何?谢谢!!
图片4.png
图片3.png

TA的精华主题

TA的得分主题

发表于 2018-10-3 15:37 | 显示全部楼层
ljxlwq_0803 发表于 2018-10-3 15:28
老师您好:其他很完美了,打印时,比如我选25行,预览效果(如图3),最后一页中,"本页小计"和"总计"下 ...

不存在这种情况么?我这里都正常。

TA的精华主题

TA的得分主题

发表于 2018-10-3 15:38 | 显示全部楼层
ljxlwq_0803 发表于 2018-10-3 15:28
老师您好:其他很完美了,打印时,比如我选25行,预览效果(如图3),最后一页中,"本页小计"和"总计"下 ...

不存在这种情况么?我这里都正常。是不是你把代码复制到自已的表上。有可能我的表与你的表在行次上结构不同。

TA的精华主题

TA的得分主题

发表于 2018-10-3 15:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
自动分页小计(带总计)2.rar (44.19 KB, 下载次数: 44)

重发给你,Excel 是 2003

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-3 15:54 | 显示全部楼层
hzruziniu 发表于 2018-10-3 15:42
重发给你,Excel 是 2003

老师您好:我用的是EXCEL2010

TA的精华主题

TA的得分主题

发表于 2018-10-3 16:02 | 显示全部楼层
ljxlwq_0803 发表于 2018-10-3 15:54
老师您好:我用的是EXCEL2010

2007自动分页小计(带总计)2.rar (50.97 KB, 下载次数: 70)

这个是2007,我没有2010系统

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 11:31 , Processed in 0.042452 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表