所以 VBA 对我来说是全新的。我来自 C# 背景。目前正在创建一个订单表格,我可以在其中输入我需要一个对象的总金额,然后在不同的单元格中计算价格。
但是,我也希望价格根据该对象的金额阈值而变化。
比如说 0 - 100 将花费 2.50 英镑,所以我希望答案在该范围内的任何地方都乘以 2.50。同时,如果金额超过 100 并变为 120,我希望对象价格现在反映 2.30 英镑,然后将 120 乘以 2.30 英镑。
我注意到一些在线教程,但它们并没有完全解释我如何能够实现上述目标。想知道是否有人可以指出我正确的方向?
如果您构建了一个包含价格下限和上限阈值的表格,您可以简单地使用 aVLOOKUP
并返回近似匹配。
在照片中,Column C
是方程中所示的输出Column D
您也可以使用简单的UDF
. 将代码粘贴到 a 中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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句