Vin*_*nie 57
在vba中,函数是MOD.例如
5 MOD 2
Run Code Online (Sandbox Code Playgroud)
这是一个有用的链接.
egr*_*nin 34
你想要mod运算符.
The expression a Mod b is equivalent to the following formula:
a - (b * (a \ b))
Run Code Online (Sandbox Code Playgroud)
编辑添加:
您可能需要考虑一些特殊情况,因为Excel使用浮点数学(并返回a float),VBA函数返回一个整数.因此,使用mod浮点数可能需要额外注意:
Excel的结果可能与您预测的结果不完全一致; 这里简要介绍一下(参见最顶层的答案)并在这里详细介绍.
小智 8
我MOD(a,b)在VBA中复制Excel的方法是XLMod(a,b)在包含该函数的VBA中使用:
Function XLMod(a, b)
' This replicates the Excel MOD function
XLMod = a - b * Int(a / b)
End Function
Run Code Online (Sandbox Code Playgroud)
在您的VBA模块中
小智 7
使用Excel MOD(a,b)函数和VBA和Mod b运算符时要非常小心.Excel返回浮点结果,VBA返回整数.
在Excel = Mod(90.123,90)中返回0.123000000000005而不是0.123在VBA中90.123 Mod 90返回0
他们当然不等同!
相当于:在Excel中:= Round(Mod(90.123,90),3)返回0.123和In VBA :((90.123*1000)Mod 90000)/ 1000返回也是0.123