设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1466|回复: 2
打印 上一主题 下一主题

[报表] 如何在报表中实现数字或货币字段的分页合计及总计

[复制链接]
跳转到指定楼层
1#
发表于 2004-12-7 00:46:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如何在报表中实现数字或货币字段的分页合计及总计
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
3#
发表于 2005-5-28 18:48:00 | 只看该作者
用宏里的页合计,预览打印前先格式化报表页脚
2#
发表于 2005-5-28 05:58:00 | 只看该作者
我一直是这样的,有点笨,但也不算费力:首先添加一列“页号”,然后安装每页行数-1的办法输入页码,然后隐藏之。

然后“分类汇总”(以页为关键字分类,对金额一栏求和),注意勾选“每组数据分页”选项。(为避免破坏原始数据,建议复制原始表为一个新的临时表后进行)

后来,看到别人的一个VBA,不错:Dim i, t, l, x, rr, dr, tt As Integer

Dim rrr As String

Public Sub Fyhz()

t = 2

Do

i = InputBox("请输入每页拟打印的行数:                   (不能超过一页的范围!!!)")If i <= 0 Or i = "" Then

MsgBox ("每页行数必须大于1!")

Else

Exit Do

End If

Loop

i = Int(i)

x = i + 1

l = Range("A65536").End(xlUp).Row

Do While l >= xRows(x + 1).Insert Shift:=xlDown

Cells(x + 1, 1) = "本页小计"

Cells(x + 1, 2).Formula = "=SUM(R[-" + CStr(i) + "]C:R[-1]C)"

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(x + 2)

x = (i + 1) * t

t = t + 1

l = l + 1

LoopIf l Mod (i + 1) <> 1 Then

rr = l Mod (i + 1)

rr = rr - 1

rrr = CStr(rr)

Cells(l + 1, 1) = "本页小计"

Cells(l + 1, 2).FormulaR1C1 = "=SUM(R[-" + rrr + "]C:R[-1]C)"

End If

Cells(l + 2, 1) = "合计"

Cells(l + 2, 2).FormulaR1C1 = "=SUM(R[-" + CStr(l + 1) + "]C:R[-1]C)/2"

Range(Cells(1, 1), Cells(l + 1, 2)).Locked = True

ActiveSheet.Protect

Cells(1, 1).Select

End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 20:55 , Processed in 0.097790 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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