ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: hzruziniu

[分享] 财务处理系统

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-10-12 11:30 | 显示全部楼层
楼主,凭证打印表里附件张数不显示

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-12 23:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 hzruziniu 于 2013-10-12 23:36 编辑
qdming 发表于 2013-10-12 11:30
楼主,凭证打印表里附件张数不显示


在连续打印和逐张打印的代码中分别加入红色的二句代码就行了,
注意:原始凭证张数分别在凭证号码的第一行输入.
Sub 连续打印()
    Dim arr, ary(), brr, crr, drr, err, frr, x As WorksheetFunction, i As Integer, j As Integer
    Dim a1 As Integer, a2 As Integer, n As Integer, n2 As Integer, m As Integer
    Set x = WorksheetFunction
    With Sheets("分录")
        arr = .Range("d1:f" & .Range("d65536").End(3).Row + 1) '源表的日期加凭证编号起始区域为arr
        ReDim ary(1 To 1)
        ary(1) = 4
        m = 1
        For i = 5 To UBound(arr)                               '源表的行上下限
            If arr(i, 1) & "/" & arr(i, 3) <> arr(i - 1, 1) & "/" & arr(i - 1, 3) Then
                m = m + 1
                ReDim Preserve ary(1 To m)
                ary(m) = i
            End If
        Next
'-----------------------------------------------------------------------------------------------
        a1 = Range("am1").Value '打印表开始号
        a2 = Range("an1").Value '打印表结束号
        a = [al1]               '打印表的月份
        For k = a1 To a2
            t2 = a & "/" & k    '打印表的"月/凭证号"定义为t2
            For i = 4 To UBound(arr)
                If arr(i, 1) & "/" & arr(i, 3) = t2 Then
                    r = i
                    Exit For
                End If
            Next
            i = 0
            If r > 0 Then
                For l = 1 To m
                    If r = ary(l) Then
                        i = l
                        Exit For
                    End If
                Next
            End If
'----------------------------------------------------------------------------------------------------------
            If i = 0 Then GoTo 100
            n = x.RoundUp((ary(i + 1) - ary(i)) / 7, 0) '该凭证号一共有几张分页号
            n2 = n * 7 - (ary(i + 1) - ary(i))          '最后一张凭证内有几行空行
            temp = x.Sum(.Range(.Cells(ary(i), 15), .Cells(ary(i + 1) - 1, 15)))  '贷方科目合计金额
               '[c10] = N2RMB(temp)'人民币大写
            [ai16] = x.Sum(.Range(.Cells(ary(i), 13), .Cells(ary(i + 1) - 1, 13))) '借方科目合计金额
            [aj16] = temp
            f = [am1]
            For j = 1 To n
                If j < n Then
  '-------------------------------------------------------------
                    Range("z2") = Format(f, "000") & "号" & j & "/" & n
                    Range("f5") = Sheets("资料").Range("J5")
                    'Range("h5") = Range("al1")
                    Range("h5") = Sheets("分录").Cells(ary(i), 4)
                    Range("k5") = Sheets("分录").Cells(ary(i), 5)
                    Range("AA5") = Sheets("分录").Range("P" & ary(i))
                    brr = .Range("g" & (j - 1) * 7 + ary(i)).Resize(7)
                    crr = .Range("i" & (j - 1) * 7 + ary(i)).Resize(7)
                    drr = .Range("k" & (j - 1) * 7 + ary(i)).Resize(7)
                    err = .Range("m" & (j - 1) * 7 + ary(i)).Resize(7)
                    frr = .Range("o" & (j - 1) * 7 + ary(i)).Resize(7)
                    Range("B9:F15") = ""
                    Range("ai9:aj15") = ""
                    Range("b9:b15") = brr
                    Range("d9:d15") = crr
                    Range("f9:f15") = drr
                    Range("ai9:ai15") = err
                    Range("aj9:aj15") = frr
                    ActiveSheet.PrintPreview '打印预览
                     'ActiveSheet.PrintOut    '直接打印
                Else
                    Range("z2") = Format(f, "000") & "号" & j & "/" & n
                    Range("f5") = Sheets("资料").Range("J5")
                    'Range("h5") = Range("al1")
                    Range("h5") = Sheets("分录").Cells(ary(i), 4)
                    Range("k5") = Sheets("分录").Cells(ary(i), 5)
                    Range("AA5") = Sheets("分录").Range("P" & ary(i))                  
                    brr = .Range("g" & (j - 1) * 7 + ary(i)).Resize(7 - n2)
                    crr = .Range("i" & (j - 1) * 7 + ary(i)).Resize(7 - n2)
                    drr = .Range("k" & (j - 1) * 7 + ary(i)).Resize(7 - n2)
                    err = .Range("m" & (j - 1) * 7 + ary(i)).Resize(7 - n2)
                    frr = .Range("o" & (j - 1) * 7 + ary(i)).Resize(7 - n2)
                    Range("B9:F15") = ""
                    Range("ai9:aj15") = ""
                    amyr = 15 - n2
                    Range("b9:b" & amyr) = brr
                    Range("d9:d" & amyr) = crr
                    Range("f9:f" & amyr) = drr
                    Range("ai9:ai" & amyr) = err
                    Range("aj9:aj" & amyr) = frr
                    'Range("ak5") = amyr
                    'Range("ak3") = n2
                    Range("am1") = Range("am1") + 1
                    'Range("ak7") = m
                    ActiveSheet.PrintPreview  '打印预览
                     'ActiveSheet.PrintOut    '直接打印
                End If
            Next
100
       Next
    End With
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-12 23:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
玲珑韵味 发表于 2013-10-11 14:19
我怎么初始化不了呢?

我编制的系统是2003,初始化不了的原因:
1、可能朋友的系统更高或者版本不兼容,
2、可能属盗版功能不全,
3、缺少部份EXCEL系统文件,
4、某些控件未注册或者缺少。

TA的精华主题

TA的得分主题

发表于 2013-10-13 11:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-10-13 20:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
您好,下载了,打开是这种情况 捕获.PNG

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-13 22:35 | 显示全部楼层
hqsdxx 发表于 2013-10-13 20:51
您好,下载了,打开是这种情况

有可能是我63楼回答的情况引起的,里面的宏被破坏了,

TA的精华主题

TA的得分主题

发表于 2013-10-14 13:13 | 显示全部楼层
hzruziniu 发表于 2013-7-14 20:17
现金流量表还有误再改一下.

补充内容 (2013-8-30 17:03):

真是及时雨!谢谢了!

TA的精华主题

TA的得分主题

发表于 2013-10-14 16:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-10-16 14:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-10-24 17:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hzruziniu 发表于 2013-8-30 17:00
系统再进行了完善,新增了管理费用多栏式明细帐和应交增值税二个明细帐,为考虑到一个工作簿中工作表太多影 ...

很感谢,下载学习
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 05:52 , Processed in 0.027064 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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