用vba实现一个简单的对账系统(针对供应商的货物对账单)

项目背景,工厂中总会有供货商,在建立业务的时候他们会提前发来各种材料型号的报价单,依着时间的先后,后面的报价单将相同材料的单价更新。报价单得到工厂的确认,便会依据工厂的订单发货,工厂这边则是由专人负责核对材量数量,并登记造册。等到月末之时,供应商会发一个当月供货的对账单让工厂确认,此单中有发货日期,型号,数量,价格,总价等各项明细,工厂这边需要逐一核实,正确无误后发回确认函,这样结账的时候就以确认后的报价单为准。

这是整个对账流程,材料及数量在入库的时候已经核对好,因此对账的时候实际上是对单价以及在此单价上计算的总金额有没有出错,对于材量型号众多且订单也多,报价单不断更新这样的情况,月末的对账还是很需要花费一番人力的,考虑到这些,想到做一个简单的对账系统。

此对账系统很简单,就是首先建表将供应商的报价按由近及远的顺序填入excel表中,取表名为报价单,然后建另一张表对账单,将库房之前造的材量型号及数量移植过来,接下来就是将报价单与对账单进行关联,写一个vba小程序实现以下功能,由上到下查找材料型号,找到后将对应的材量单价填入对账单中对应的单价处即可,至于如何得到金额,则直接在报价单中利用公式实现即可。

以下为vba小程序:

Sub 某供应商月结单获取最新单价()
For irow = 5 To 39 Step 1
    For j = 2 To 10000 Step 1
        If Worksheets("报价单").Range("A" & j) = "" Then
            Exit For
        End If
        If Range("B" & irow).Text = Worksheets("报价单").Range("A" & j).Text Then
            Range("E" & irow) = Worksheets("报价单").Range("B" & j).Value
        End If
    Next j
Next irow
End Sub

运行时在当前对账表中添加一按钮,将宏名指定好即可,另外需注意,对账单中填入的单价是从E5开始

posted @ 2013-04-19 15:03  绿色的麦田  阅读(2254)  评论(0编辑  收藏  举报