ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1007|回复: 3

[求助] 如何计算出期末数据?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-25 11:26 | 显示全部楼层 |阅读模式
本帖最后由 迪云洲 于 2018-6-26 16:42 编辑

如何计算出期末数据?
闲暇时摆弄一下excel,用VBA编制了一个小财务软件,但原材料账的期末数据显示不出来,请各大师指点帮忙解决?
问题已解决。

XXX有限公司财务会计系统.rar

1.77 MB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2018-6-25 11:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
附件呢??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-25 11:45 | 显示全部楼层
本帖最后由 迪云洲 于 2018-6-26 16:43 编辑

期末数据出不来?问题不知出在那?VBA代码如下:
Private Sub 明细账查询_Click()
aa = Timer
Dim arr, Arr1(), x, t, i
Dim a, b, c, d, e, f, msr, k, j, y

Application.ScreenUpdating = False
On Error Resume Next
With Sheets("数量明细账查询")
    .Range("a6:k65536").Clear
    For i = 1 To Sheets("设置").Range("b65536").End(xlUp).Row
        If Sheets("设置").Cells(i, 2).Value = .Range("d3") Then '判断条件,对单元格输入值
        .Range("i6") = Sheets("设置").Range("c" & i) '借贷方向

        With Range("d6") '上年结转栏颜色
            .Font.Bold = True
            .Font.ColorIndex = 3
            .Value = "上年结转"
        End With

        .Range("k3") = Sheets("设置").Range("f" & i)
        .Range("k6") = Sheets("设置").Range("d" & i) '期初余额
        .Range("j6") = Sheets("设置").Range("g" & i) '期初数量
        .Range("m2") = Sheets("设置").Range("c" & i)
        With Range("k6") '期初余额颜色
            .Font.Bold = True
            .Font.ColorIndex = 0
        End With
        End If
   Next
End With
arr = Sheets("分录").Range("d4:p" & Sheets("分录").Range("J65536").End(xlUp).Row)
ReDim Arr1(1 To UBound(arr), 1 To 13)
msr = Sheets("数量明细账查询").Range("d3")
For c = 1 To UBound(arr)
    If arr(c, 7) = msr Then  '符合条件的记录
    k = k + 1 '符合条件记录的记数器
    Arr1(k, 1) = arr(c, 1)
    Arr1(k, 2) = arr(c, 2)
    Arr1(k, 3) = arr(c, 3)
    Arr1(k, 4) = arr(c, 4)
    Arr1(k, 5) = arr(c, 9)
    Arr1(k, 6) = arr(c, 10)
    Arr1(k, 7) = arr(c, 11)
    Arr1(k, 8) = arr(c, 12)
    End If
Next
   Range("a7").Resize(k, 8) = Arr1

   j = Val(Sheets("数量明细账查询").Range("a65536").End(xlUp).Row)
For t = 7 To j
   If Cells(t, 6) > 0 Then Cells(t, 7) = ""
   If Cells(t, 8) > 0 Then Cells(t, 5) = ""
   Next
For t = 7 To j    '计算期末余额及确认借贷方向
    a = Cells(t, 6)  '借方
    b = Cells(t, 8)  '贷方
    s0 = Cells(t - 1, 10)
    s1 = Cells(t, 5)
    s2 = Cells(t, 7)
    If Cells(3, 12) = Cells(t - 1, 9) Then f = Cells(t - 1, 11) '上期参考
    If Cells(3, 12) <> Cells(t - 1, 9) Then f = -Cells(t - 1, 11) '上期参考

    If Cells(3, 12).Value = "借" Then
    e = a - b + f
    s3 = s0 + s1 - s2
    End If
    If e >= "0" Then Cells(t, 9).Value = "借"
    If e >= "0" Then
    Cells(t, 10) = s3
    Cells(t, 11) = e
    End If
    If e < "0" Then Cells(t, 9).Value = "贷"
    If e < "0" Then
    Cells(t, 10) = -s3
    Cells(t, 11) = -e
    End If

    If Cells(3, 12).Value = "贷" Then
    e = b - a + f
    If e >= "0" Then Cells(t, 9).Value = "贷"
    If e >= "0" Then Cells(t, 11) = e
    If e < "0" Then Cells(t, 9).Value = "借"
    If e < "0" Then Cells(t, 11) = -e
    End If
    Next
    Cells(3, 12) = ""





2018-06-25_114439.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-26 16:41 | 显示全部楼层
问题已解决,将Cells(3, 12),改为Cells(6,9)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 19:14 , Processed in 0.041775 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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