您的购物车还没有商品,再去逛逛吧~

提示

已将 1 件商品添加到购物车

去购物车结算>>  继续购物

现场材料管理台账核对问题的研究

 在工程材料现场管理中,核对材料台账是一个很繁琐的事情,特别是在材料种类繁多且用量很大的情况下,现场核对耗时耗力。Excel作为一种常用的办公软件,其功能被很多人所熟悉,通过进一步的开发,可以满足很多数据处理的要求。笔者通过在Excel上应用自编的宏程序,实现了材料管理台账对账的功能。
  1 程序流程图(图1)
  图中所指列1、列2数据分别为供应商材料送货明细账和现场材料管理台账对应数据。
  2 程序内容
  Sub Macro1()
  '――――(1)供应商出库明细 与 (3)现场入库明细 发生额相同的相互抵消
  '―――― 确定(1)、(3)列发生额的笔数,若为0跳到第二项比较
  Lastrow1 = 0
  For i = 6 To 3000
   If IsEmpty(Range("c" & i).Cells) Then
   Exit For
   Else
   Lastrow1 = Lastrow1 + 1
   End If
   Next i
   If Lastrow1 = 0 Then GoTo number1
  
   Lastrow2 = 0
   For i = 6 To 3000
   If IsEmpty(Range("I" & i).Cells) Then
   Exit For
   Else
   Lastrow2 = Lastrow2 + 1
   End If
   Next i
   If Lastrow2 = 0 Then GoTo number1
  
  '――――判断(1)、(3)列发生额是否有相同项,若有则变成0
   For m = 6 To Lastrow1 + 5
   same = 0
   n = 1
   For p = 6 To Lastrow2 + 5
   If n <= Lastrow2 And same = 0 Then
   If Range("c" & m).Value = Range("I" & p).Value Then
   Range("c" & m).Value = 0
   Range("I" & p).Value = 0
   same = 1
   End If
   n = n + 1
   End If
   Next p
   Next m
  '――――删除发生额为0的项
  For i = Lastrow1 + 5 To 6 Step -1
   If Range("c" & i).Value = 0 Then
   Range("A" & i & ":c" & i).Select
   Selection.Delete Shift:=xlUp
   End If
   Next i
  
   For i = Lastrow2 + 5 To 6 Step -1
   If Range("I" & i).Value = 0 Then
   Range("G" & i & ":I" & i).Select
   Selection.Delete Shift:=xlUp
   End If
   Next i
  number1:
  '――――完成第一次比较,继续第二次比较
  '――――(2)退回供应商材料明细与(4)现场材料退回明细 发生额相同的相互抵消
  '――――确定(2)、(4)列发生额的笔数,若为0结束程序
   Lastrow1 = 0
   For i = 6 To 3000
   If IsEmpty(Range("F" & i).Cells) Then
   Exit For
   Else
   Lastrow1 = Lastrow1 + 1
   End If
   Next i
   If Lastrow1 = 0 Then GoTo number2
   Lastrow2 = 0
   For i = 6 To 3000
   If IsEmpty(Range("L" & i).Cells) Then
   Exit For
   Else
   Lastrow2 = Lastrow2 + 1
   End If
   Next i
   If Lastrow2 = 0 Then GoTo number2
  
  '――――判断(2)、(4)列发生额是否有相同项,若有则变成0
   For m = 6 To Lastrow1 + 5
   same = 0
   n = 1
   For p = 6 To Lastrow2 + 5
   If n <= Lastrow2 And same = 0 Then
   If Range("F" & m).Value = Range("L" & p).Value Then
   Range("F" & m).Value = 0
   Range("L" & p).Value = 0
   same = 1
   End If
   n = n + 1
   End If
   Next p
   Next m
  
  '――――删除发生额为0的项
   For i = Lastrow1 + 5 To 6 Step -1
   If Range("F" & i).Value = 0 Then
   Range("D" & i & ":F" & i).Select
   Selection.Delete Shift:=xlUp
   End If
   Next i
  
   For i = Lastrow2 + 5 To 6 Step -1
   If Range("L" & i).Value = 0 Then
   Range("J" & i & ":L" & i).Select
   Selection.Delete Shift:=xlUp
   End If
   Next i
  
  Exit Sub
  number2:
  End Sub
  3 实施步骤
  (1)Excel新建表格中建立现场材料管理对账单(如图2)。
  (2)分别填入供应商供货明细和现场材料台账中的发生额,注意不要有空项并统一双方材料种类名称,合计行(行14)前一行要空白。
  (3)运行宏程序Macro1,自动生成对账结果,L20=0。
  4 应用效果
  该程序预期达到了的效果,经使用准确率达到100%,大大节约了和供应商对账的时间,提高了工作效率。另外,该程序是基于Excel表格开发的,简便易操作,实用性很强。