Office中国论坛/Access中国论坛

标题: 如何在报表中实现数字或货币字段的分页合计及总计 [打印本页]

作者: gxq123cn    时间: 2004-12-7 00:46
标题: 如何在报表中实现数字或货币字段的分页合计及总计
如何在报表中实现数字或货币字段的分页合计及总计
作者: 红池坝    时间: 2005-5-28 05:58
我一直是这样的,有点笨,但也不算费力:首先添加一列“页号”,然后安装每页行数-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
作者: wuheng    时间: 2005-5-28 18:48
用宏里的页合计,预览打印前先格式化报表页脚




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3