怎么在Excel多页中插入每页小计?
答案:1 悬赏:10 手机版
解决时间 2021-01-26 05:51
- 提问者网友:鐵馬踏冰河
- 2021-01-26 00:22
怎么在Excel多页中插入每页小计?
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-01-26 00:34
EXCEL没有自带此功能,只能通过VBA操作,具体问题需具体编写宏代码,示例代码如下:Dim rCurrentCell As Range ' 每一页之分页小计所在单元格Dim r1stSubCell As Range ' 小计区域第一个单元格' -------------------------------------------------' 从这里开始执行Sub Main() Worksheets("工资表").Activate 删除原有的分页小计行 新建分页小计End Sub' -------------------------------------------------Sub 删除原有的分页小计行() Set r1stSubCell = Range("A5") ' 本例名单从 A5 单元格开始 For Each rCurrentCell In Range(r1stSubCell, r1stSubCell.End(xlDown)) If rCurrentCell = "合 计" Then rCurrentCell.EntireRow.Delete NextEnd SubSub 新建分页小计() Dim iSubCol As Integer, rSubArea As Range Dim hb As HPageBreak ActiveWindow.View = xlPageBreakPreview ' 进入 分页浏览 模式, 以便 EXCEL 正确计页 Set r1stSubCell = Range("A5") ' 本例名单从 A5 单元格开始 iSubCol = 20 ' 本例小计项共有 20 列 ' 避免可能的错误:手工分页符正好与自动分页符重合 ' 建议运行前先删除手工分页符 ' 本过程可选 'For Each hb In ActiveSheet.HPageBreaks ' On Error Resume Next ' If hb.Type = xlPageBreakManual Then hb.Delete 'Next ' 最后一行插入手工分页符 ActiveSheet.HPageBreaks.Add Before:=r1stSubCell.End(xlDown).Offset(1, 0) ' 测试每一个分页符, ' 如果是自动分页符, 则在其上一行插入一小计行, 而本行纳入下一页 ' 否则, 在本行插入一小计行 For Each hb In ActiveSheet.HPageBreaks Set rCurrentCell = hb.Location rCurrentCell.Select ' 看看先 If hb.Type = xlPageBreakAutomatic Then Set rCurrentCell = rCurrentCell.Offset(-1, 0) rCurrentCell.EntireRow.Insert Set rCurrentCell = rCurrentCell.Offset(-1, 0) ' 添加分页小计内容 With rCurrentCell .Value = "合 计" .Font.Bold = True Set rSubArea = .Offset(0, 1).Resize(1, iSubCol) ' 需要填充分页小计公式的区域 ' 使用 SUBTOTAL 公式的好处是方便扩展, 且不会对已计算区域重复计算(如果可能发生这种情况的话) rSubAr
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯