5个回答
2013-07-10
展开全部
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
Next
End 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 公式的好处是方便扩展, 且不会对已计算区域重复计算(如果可能发生这种情况的话)
rSubArea.Formula = "=SUBTOTAL(9," & r1stSubCell.Offset(0, 1).Address(1, 0) & ":" & .Offset(-1, 1).Address(1, 0) & ")" Set r1stSubCell = .Offset(1, 0)
End With
Next ActiveWindow.View = xlNormalView
End Sub
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
Next
End 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 公式的好处是方便扩展, 且不会对已计算区域重复计算(如果可能发生这种情况的话)
rSubArea.Formula = "=SUBTOTAL(9," & r1stSubCell.Offset(0, 1).Address(1, 0) & ":" & .Offset(-1, 1).Address(1, 0) & ")" Set r1stSubCell = .Offset(1, 0)
End With
Next ActiveWindow.View = xlNormalView
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
步骤1 :在最前面插入一列,在2至6行输入1,7至11行输入2.然后先取A2:A11,双击右下角向下填充,填充方式为复制单元格。
步骤2:选取整个数据表,数据 - 分类汇总 ,在打开的分类汇总窗口中,汇总项选数量和金额。另外还要选中“每组数据分页”的选项
设置完成后即完成自动分页小计的设置
步骤2:选取整个数据表,数据 - 分类汇总 ,在打开的分类汇总窗口中,汇总项选数量和金额。另外还要选中“每组数据分页”的选项
设置完成后即完成自动分页小计的设置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-10
展开全部
网上有专门的分页小计工具,下一个,只要在使用EXCEL时打开就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求和函数就能解决。每页一求和,最后吧每页的合在最后一页在求和就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |