魔方网表 让信息化更简单

 找回密码
 注册
查看: 1807|回复: 0

看到很多关于分页小计

[复制链接]
lnxxnchzyl 发表于 2009-10-19 09:57:11 | 显示全部楼层 |阅读模式
看到很多关于分页小计(每页页底增加一行本页相关数据的汇总数据,在财务方面使用很广)的需求,可以用下面的代码完成:
比如A列是“产品”,B列是“金额”。现对“金额”进行分页小计

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 >= x

Rows(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
Loop

If 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-5-5 11:44 , Processed in 0.058986 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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