Excel VBA高效办公应用-第七章-VBA财务报表分析-Part3 (现金流量表分析)

书上的例子应该是错的,纠正如下:

代码如下(补充了几个指标的定义):
Public Sub 现金流量表()
    '计算“经营活动现金流入合计”
    Cells(9, 3) = "=sum(C5:C8)"
    '计算“经营活动现金流出合计”
    Cells(15, 3) = "=sum(C10:C14)"
    '计算“经营活动产生的现金流量净额”
    Cells(16, 3) = Cells(9, 3) - Cells(15, 3)
    '计算“投资活动现金流入合计”
    Cells(23, 3) = "=sum(C18:C22)"
    '计算“投资活动现金流出合计”
    Cells(8, 6) = "=sum(F4:F7)"
    '计算“投资活动产生的现金流量净额”
    Cells(9, 6) = Cells(23, 3) - Cells(8, 6)
    '计算“筹资活动现金流入合计”
    Cells(15, 6) = "=sum(F11:F14)"
    '计算“筹资活动现金流出合计”
    Cells(22, 6) = "=sum(F16:F21)"
    '计算“筹资活动产生的现金流量净额”
    Cells(23, 6) = Cells(15, 6) - Cells(22, 6)
    '计算“现金及现金等价物净增加值”
    Cells(24, 6) = Cells(16, 3) + Cells(9, 6) + Cells(23, 6)
End Sub

Public Sub 现金流量表分析()
'定义一个保存记录列数的整型变量
Dim iCount As Integer
    '把工作表的记录列数赋予iCount
    iCount = Sheets("现金流量表分析").[A3].CurrentRegion.Columns.Count
    '选择“损益统计总汇”工作表
    Sheets("现金流量表分析").Select
    With Worksheets("现金流量表")
        '把“现金流量表”工作表中的值复制到“现金流量表分析”工作表中
        Cells(2, iCount + 1) = .Cells(2, 2).Value
        Cells(3, iCount + 1) = .Cells(9, 3).Value
        Cells(4, iCount + 1) = .Cells(15, 3).Value
        Cells(5, iCount + 1) = .Cells(16, 3).Value
        Cells(6, iCount + 1) = .Cells(23, 3).Value
        Cells(7, iCount + 1) = .Cells(8, 6).Value
        Cells(8, iCount + 1) = .Cells(9, 6).Value
        Cells(9, iCount + 1) = .Cells(15, 6).Value
        Cells(10, iCount + 1) = .Cells(22, 6).Value
        Cells(11, iCount + 1) = .Cells(23, 6).Value
        Cells(12, iCount + 1) = .Cells(24, 6).Value
        '计算“现金流动负债比” (现金及现金等价物净增加值/流动负债合计)
        Cells(14, iCount + 1) = .Cells(24, 6) / Worksheets("资产负债表").Cells(15, 6)
        '计算“现金债务总额比” (现金及现金等价物净增加值/(流动负债合计+ 长期负债合计))
        Cells(15, iCount + 1) = .Cells(24, 6) / (Worksheets("资产负债表").Cells(15, 6) _
                + Worksheets("资产负债表").Cells(22, 6))
        '计算“销售现金比率” (现金及现金等价物净增加值/主营业务收入)
        Cells(16, iCount + 1) = .Cells(24, 6) / Worksheets("损益表").Cells(5, 3)
        '计算“资产现金回收率” (现金及现金等价物净增加值/负债及股东权益总计)
        Cells(17, iCount + 1) = .Cells(24, 6) / Worksheets("资产负债表").Cells(30, 3)
    End With
End Sub

没想到,学VBA还能顺带提高一下财务知识。不错!


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值