我正在尝试为VBA用户窗体生成代码。
我试图说明,如果一个邮政地区“BT”和重量小于或等于30,那么成本将是15.15英镑,然后将有一个额外的成本为每单位超过30 0.65。
如果邮政编码不是“BT”,且权重小于或等于35,则成本为4.73英镑,每增加一个单位,成本为0.25英镑
我有下面的,但它是不正确的计算。
Private Sub Weighttb_Change()
If PostCodecb = "BT" Then
UKMtb = 15.51 + (Weighttb - 30) * 0.65
ElseIf Weighttb <= 35 And PostCodecb <> "BT" Then
UKMtb = 4.73 + (Weighttb - 35) * 0.25
Else
UKMtb = "4.73"
End If
End Sub
任何帮助都是感激不尽的
丽莎
1条答案
按热度按时间uqjltbpv1#
我认为您只需要将每个邮政编码的计算分开即可。
此外,如果传递了低于基数的值,例如20而不是30,则计算的第二部分
+ (Weighttb - 30) * 0.65
将引入误差,因为它将计算-10 * 0.65
。请看下面的例子和一些测试。不确定 * 单位 * 是什么,所以我假设它们是整数(整数)。
几个测试来验证结果:
结果:
在你的潜艇里呼叫它: