用VBA完成报表制作

本文分享了如何使用VBA来编写逻辑,替代公式完成Excel报表的制作,包括计算总收入、总支出、按月统计报销额以及应用财务公式计算管理费。通过VBA解决了在按月统计时行数增加导致的余额计算冗余问题,提供了源码下载链接。
摘要由CSDN通过智能技术生成

最近帮朋友做了一个报表统计的excel,因为本人比较懒,就直接用vba写了逻辑,而没有使用公式,代码实现了一些较简单的功能,例:算总收入,总支出,按月份统计的报销额度,根据财务人员给的公式自动算出管理费等,在这里mark一下,语言不是最重要的,重要的是解决问题的思路,与君共勉。因为我只对sheet1做了宏处理,所以在代码中使用worksheets(1)来查找sheet1中的单元格。有需要也可以更改成对整个工作簿作用。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i, j
i = 0
j = 0
inner = 0
outer = 0
Dim cost(1 To 12) As Long
Dim earn(1 To 12) As Long


For r = 2 To Worksheets(1).UsedRange.Rows.Count
    If r = 2 Then
        If Worksheets(1).Cells(r, 5).Value <> "" Then
        Worksheets(1).Cells(r, 9).Value = (Worksheets(1).Cells(r, 5).Value - Worksheets(1).Cells(r, 8).Value) * 0.08
        Worksheets(1).Cells(r, 6).Value = Worksheets(1).Cells(r, 8).Value + Worksheets(1).Cells(r, 9).Value
        Worksheets(1).Cells(r, 10).Value = Worksheets(1).Cells(r, 5).Value - Worksheets(1).Cells(r, 6).Value

        If Worksheets(1).Cells(r, 2).Value <> "" Then//实现按月统计招待费用
        earn(Worksheets(1).Cells(r, 2).Value) = earn(Worksheets(1).Cells(r, 2).Value) + Worksheets(1).Cells(r, 5).Value
        If Worksheets(1).<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值