Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!

[已解决]大神指教如何减去库存表库存

[复制链接]
 楼主| 发表于 2022-6-1 10:32 | 显示全部楼层
zjdh 发表于 2022-6-1 09:54
是同一个工作簿吗?

恩恩  对的 是的
一个库存表的位置变了下,还有能否加一条,就是当处理页这个件号有库存的时候,这个供应商的那一列单元格 变为库存 这样行不行
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2022-6-1 10:36 | 显示全部楼层
zjdh 发表于 2022-6-1 09:54
是同一个工作簿吗?

处理页.zip (102.79 KB, 下载次数: 1)
回复

使用道具 举报

发表于 2022-6-1 12:01 | 显示全部楼层
处理页.rar (99.18 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2022-6-1 13:51 | 显示全部楼层

大神牛逼,感谢大神
请在帮忙稍作修改下,这段改为当处理页原来是后面填写是 则减去库存,改一下供应商那一栏是“库存”就自动减去库存,其他不变,谢谢大神
Dim rg As Worksheet, rgg As Worksheet
    Application.EnableEvents = False
    If Target.Count > 1 Then GoTo 100
    If Target.Column <> 26 Then GoTo 100
    Set rg = Sheets("处理页")
    Set rgg = Sheets("工厂库存表")
    If Target = "是" Then
        For Y = 2 To rgg.Range("A80000").End(3).Row
            If rgg.Cells(Y, 1) = Target.Offset(0, -11) Then
                If rgg.Cells(Y, 10) - Target.Offset(0, -18) < 0 Or rgg.Cells(Y, 11) - Target.Offset(0, -18) _
                   Then MsgBox ARR(i, 8) & "的库存量不够!": GoTo 100
                If rgg.Cells(Y, 11) = "" Then
                    rgg.Cells(Y, 11) = rgg.Cells(Y, 10) - Target.Offset(0, -18)
                Else
                    rgg.Cells(Y, 11) = rgg.Cells(Y, 11) - Target.Offset(0, -18)
                End If
                Target = "已处理"
                GoTo 100
            End If
        Next Y
    Else
        GoTo 100
    End If
100:
    Application.EnableEvents = True
微信截图_20220601134844.png

回复

使用道具 举报

发表于 2022-6-1 13:59 | 显示全部楼层
你这是哪儿来的截图?!!
回复

使用道具 举报

 楼主| 发表于 2022-6-1 14:04 | 显示全部楼层
zjdh 发表于 2022-6-1 13:59
你这是哪儿来的截图?!!

我这是将您的两段代码 放入我正式工作表内的,也是处理页和我给的附件一样,只是稍微改动下需要
回复

使用道具 举报

发表于 2022-6-2 11:40 | 显示全部楼层
不发附件神也帮不了你!!
回复

使用道具 举报

 楼主| 发表于 2022-6-2 13:17 | 显示全部楼层
zjdh 发表于 2022-6-2 11:40
不发附件神也帮不了你!!

解决工厂库存表.zip (343.97 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2022-6-2 14:19 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-6-2 14:20 编辑

Sub 计算库存()
  Dim Arr, Brr
  Dim Arc%, Brc%, K%
  Arr = Sheets("处理页").Range("A1").CurrentRegion
  Brr = Sheets("工厂库存表").Range("A1").CurrentRegion
  For Arc = 2 To UBound(Arr)
    For Brc = 2 To UBound(Brr)
      If Arr(Arc, 19) = "库存" And Arr(Arc, 3) = Brr(Brc, 2) Then
        Brr(Brc, 11) = Brr(Brc, 10) - Arr(Arc, 8)
      End If
    Next Brc
  Next Arc
  Sheets("工厂库存表").Range("A1").Resize(UBound(Brr), UBound(Brr, 2)) = Brr
End Sub

工作簿1.rar

284.86 KB, 下载次数: 1

回复

使用道具 举报

 楼主| 发表于 2022-6-2 16:52 | 显示全部楼层
hasyh2008 发表于 2022-6-2 14:19
Sub 计算库存()
  Dim Arr, Brr
  Dim Arc%, Brc%, K%

可以运行,谢谢大神
能否稍作修改,当剩余困库存低于2,出现弹窗提示呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-5 17:07 , Processed in 0.295542 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表