所以VBA对我来说是全新的。我来自C#背景。 当前正在创建一个订单,我可以在其中输入一个对象所需的总金额,然后在另一个单元格中计算价格。
但是我还希望价格根据该对象的金额阈值进行更改。
例如0-100的价格为2.50英镑,因此我希望答案在该范围内的任何地方都乘以2.50。同时,如果金额超过100并变为120,我希望对象价格现在反映2.30英镑,然后将120乘以2.30英镑。
我注意到在线上有一些教程,但是它们并没有完全解释我如何能够实现上述目标。想知道是否有人可以指出我正确的方向?
答案 0 :(得分:1)
如果您使用价格的最低和最高阈值构建表,则可以简单地使用VLOOKUP
并返回近似匹配项。
在照片中,Column C
是Column D
中显示的方程式的输出
您还可以使用简单的UDF
。将代码粘贴到Module
内,然后可以像其他任何方程式一样从单元格中调用函数PRICEINDX
。您可以手动输入PRICEINDX(164)
之类的值,也可以选择一个具有要测试的值的单元格,例如PRICEINDX(A1)
您还可以使用Select Case
Option Explicit
Public Function PRICEINDX(Target As Double) As Double
Dim ans As Double
Select Case Target
Case 0 To 100
ans = 2.5
Case 101 To 200
ans = 2.3
Case 201 To 300
ans = 2.1
Case Is > 300
ans = 2
End Select
PRICEINDX = ans
End Function