Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1721|回复: 4

[已解决]谢谢爱疯老师,请对下列程序的一个功能进行微调

[复制链接]
发表于 2012-2-27 19:59 | 显示全部楼层 |阅读模式
本帖最后由 lhj323323 于 2012-2-27 22:31 编辑

老师:
这是happym8888老师写的语句
能实现根据[期未]的机构生成比[期初]对应的机构的余额增减变化

新增需求
如果[期未]某机构的第4行到第30行均是零,则在结果表中的第4行到第30行也显示为零
比如在[期未]表中,目前符合这种条件的机构分别在G、K列
则在导出的结果表中这两机构的增减变化也定义为零
需求20120227.rar (28.26 KB, 下载次数: 12)
发表于 2012-2-27 20:20 | 显示全部楼层    本楼为最佳答案   
Sub 新增()
    Dim Arr, Brr, Crr, iA, iB, iC, i, s
    Application.ScreenUpdating = False
    On Error Resume Next
    Sheet11.Range("c2:dl30").ClearContents
    Arr = Sheet5.Range("C2:DL30")
    x = Sheet8.Range("iv30").End(xlToLeft).Column
    Brr = Sheet8.Range(Sheet8.Cells(2, 3), Sheet8.Cells(30, Sheet8.Range("iv30").End(xlToLeft).Column))
    ReDim Crr(1 To UBound(Brr, 1), 1 To UBound(Brr, 2))
    For iB = 1 To UBound(Brr, 2)    '期末列
        For iA = 1 To UBound(Arr, 2)    '期中列
            If Brr(1, iB) = Arr(1, iA) Then    '如果机构号相同
                '判断期末机构号下是否都是0
                s = 0
                For i = 3 To 29
                    s = s + Brr(i, iB)
                Next i
                Crr(1, iB) = Brr(1, iB)
                Crr(2, iB) = Brr(2, iB)
                If s > 0 Then
                    For iC = 2 To UBound(Brr, 1)
                        x = Arr(iC, iA)
                        Crr(iC, iB) = Brr(iC, iB) - Arr(iC, iA)
                    Next iC
                End If
            End If
        Next iA
    Next iB
    Sheet11.Activate
    Range("a1") = Sheet2.Range("a5")
    Cells(2, 3).Resize(UBound(Crr, 1), UBound(Crr, 2)) = Crr
    Application.ScreenUpdating = True
End Sub


需求2.rar (30.69 KB, 下载次数: 19)
回复

使用道具 举报

发表于 2012-2-27 20:41 | 显示全部楼层
回复

使用道具 举报

发表于 2012-2-27 22:27 | 显示全部楼层
真奇怪,为什么是期未而不是期末呢,财务专业用语?
回复

使用道具 举报

 楼主| 发表于 2012-2-27 22:33 | 显示全部楼层
happym8888 发表于 2012-2-27 22:27
真奇怪,为什么是期未而不是期末呢,财务专业用语?

{:4112:}这只是因为我用的是五笔,这两个字我从来就没有搞清楚过,见笑了,所以,我在程序中更多时候用的是sheet+数字
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 13:50 , Processed in 0.303778 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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