我有一个表格,用户输入销售价格,vba根据固定百分比计算佣金,然后计算广告费用(再次是百分比)。广告费从佣金中扣除,以达到净佣金。我写了以下代码:
Dim sales, comm, conj As Long
comm = 0
conj = 0
sales = 0
sales = [Forms]![Frmaddnewsales]![txtsales]
comm = sales * .019
conj = comm * .09
Exit Sub
例如,我输入销售价格为$ 650000028,它计算佣金= 12350000.532然后计算conj = 1111500。 我需要comm和conj变量来只存储舍入值(没有小数)。我的问题是因为我的变量被声明为Long为什么它存储小数。为什么comm以十进制显示而而conj变量只显示圆形数字。
答案 0 :(得分:3)
欢迎来到VB的一个语法怪癖。这一行:
Dim sales, comm, conj As Long
仅表示conj
为Long
。前两个是Variant
类型。你可以试试这个:
Dim sales as Long, comm as Long, conj as Long