Excel VBA 高级编程-库存管理-出入库系统

大家好,我是陈小虾,是一名自动化方向的IT民工。写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长。但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教!微信公众号:万能的Excel

功能说明:

1、根据每天的出库、入库记录,自动筛选出产品ID号

2、实时统计每个产品的库存状态

3、自动统计每个月产品总出库、入库数量

关注公众号:万能的Excel     并回复【进销表】获取源文件!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim d1 As Object, d2 As Object, arr, i As Integer, k, brr
    Set d1 = CreateObject("scripting.dictionary")
    Set d2 = CreateObject("scripting.dictionary")
    Set d3 = CreateObject("scripting.dictionary")
    
If (12 < Target.Rows) And (1 < Target.Columns < 11) Then

    arr = Range("c11").CurrentRegion
    For i = 2 To UBound(arr)
        If Len(arr(i, 3)) Then
            If d1(arr(i, 3)) = "" Then '如果是否有数据
                If arr(i, 5) = "入库" Then
                    d1(arr(i, 3)) = arr(i, 6) '如果该关键字第一次出现
                Else
                    d2(arr(i, 3)) = arr(i, 6)
                End If
                d3(arr(i, 3)) = arr(i, 2)
            Else '当该关键字出现了第二次以上
                If arr(i, 5) = "入库" Then
                    d1(arr(i, 3)) = d1(arr(i, 3)) + arr(i, 6) '如果该关键字第一次出现
                Else
                    d2(arr(i, 3)) = d2(arr(i, 3)) + arr(i, 6)
                End If
            End If
        End If
    Next i
    f = 12
    For Each k In d1.keys '遍历每一个关键字
        Cells(f, "l") = k
        Cells(f, "m") = d3(k)
        Cells(f, "n") = d1(k)
        Cells(f, "o") = d2(k)
        Cells(f, "p") = d1(k) - d2(k)
        f = f + 1
    Next k
    f = 0
End If
End Sub

 

  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值