gpt4 book ai didi

vba - 当另一个单元格 = "TRUE"时对单元格的值应用计算

转载 作者:行者123 更新时间:2023-12-04 20:40:26 25 4
gpt4 key购买 nike

我正在做一些类(class)来完成一个高级电子表格。

我正在为销售电子设备的零售商创建电子表格。我设置了多张表格,其中包含客户详细信息、产品详细信息(具有库存和重新订购功能)、“订单处理屏幕”和“订单历史屏幕”。在此订单处理屏幕上,用户能够从列表中选择他们的姓名,从列表中选择他们想要的产品,然后单击注册他们的订单的按钮。

当用户点击注册他们的订单时,它会完全显示在订单历史记录表中,并且不会在每次点击后被替换。每次购买该产品时,我都坚持如何将库存减少 1。

我目前的解决方案是,当订单出现在订单历史列表中时(在单击宏并将详细信息从订单处理屏幕中拉出并放入订单历史列表之后),将产品名称与所有产品进行比较产品列表中的名称,当匹配时显示“TRUE”。就像是:

IF <TRUE/FALSE cell> = "TRUE"
-1 from <stock number cell>

当一个新订单进来时,公式会检查它的名称,在产品 list 表上,它会找到它的库存编号并将其减 1。当我的 TRUE/FALSE 行时,我不知道如何将数字减 1显示为真。

编辑:这里有一些伴随它的情况图片:

Product List

Order purchase list

最佳答案

我的建议是使用 Worksheet_Change包含指示产品已更改的单元格的工作表的事件。您的函数查看 TRUE/FALSE 的产品列表,然后将产品计数减一。 (不要忘记将标志重置为 FALSE!)

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'--- example assumes flag indicating product has changed in column B, rows 2-100
' and the product count is on the same row as the flag in column G
Dim productChangeFlag As Variant
Dim ws As Worksheet

Set ws = Target.Parent
If Intersect(Target, ws.Range("B2:B100")) Is Nothing Or IsEmpty(Target) Then Exit Sub

Application.EnableEvents = False
For Each productChangeFlag In Target
If WorksheetFunction.IsLogical(productChangeFlag) And productChangeFlag = True Then
ws.Cells(productChangeFlag.Row, 7).Value = ws.Cells(productChangeFlag.Row, 7).Value - 1
ws.Cells(productChangeFlag.Row, productChangeFlag.Column).Value = False
End If
Next productChangeFlag
Application.EnableEvents = True

End Sub

关于vba - 当另一个单元格 = "TRUE"时对单元格的值应用计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34883936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com