gpt4 book ai didi

vba - Excel VBA : Easy If function doesn't seem to work properly

转载 作者:行者123 更新时间:2023-12-04 21:16:01 24 4
gpt4 key购买 nike

这是我在执行用户窗体之前检查的代码:

If Sheets("Warehouse").Cells(ProdID + 1, 3) < SalesQ.Text Then
MsgBox ("Not enough quantity - ID: ") & ProdID.Text
Exit Sub
End If

(如果成功,则从工作表中扣除 Q。)
Sheets("Warehouse").Cells(ProdID + 1, 3) = Sheets("Warehouse").Cells(ProdID + 1, 3) - SalesQ.Text

基本上我有 2 张工作表 - 仓库和销售,我在仓库工作表中插入数据,用户表单代码类似于(如果您需要更多,请告诉我):
Cells(emptyRow, 1) = IDBox.Text
Cells(emptyRow, 2) = prodBox.Text
Cells(emptyRow, 3) = QBox.Text

所以问题是,在我首先在仓库表中插入数据之后。每当我在销售部分测试销售时,它告诉我数量不足,即使有数量。现在假设 Q = 100,如果我输入 90、80、60 等,Sales 用户表单将不起作用,但如果我输入一些小数字(如 20 或 10)就会工作......在最初扣除小数字后10 或 20,它可以与任何其他数字(如 80 等)完美搭配。我认为它的结尾是(.Text、.Value 等?但 IDK)Halp。

最佳答案

我怀疑 SalesQ.Text 是字符串类型的文本字段。因此,您将一个数字与 s 字符串进行比较——这是合法的,但可能会产生意想不到的结果。

如果 SalesQ.Text 确实包含表示数字的字符串(例如,它包含“120”),那么您可以使用 Val 函数将其转换为数字

Sheets("Warehouse").Cells(ProdID + 1, 3) < Val(SalesQ.Text)

关于vba - Excel VBA : Easy If function doesn't seem to work properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36995238/

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