excel vba 中如何表示整除 用的是office2007

2025-06-27 23:54:53
推荐回答(4个)
回答1:

VBA函数与工作表函数表达方式是不一样的,看来你是喜欢用工作表的函数,如果在VBA中使用工作表函数表达方式,需要函数容器对象,你的代码中缺少了。第一句应改为:
if Application.WorksheetFunction.Mod(Abs(Cells(irow, 21)), 27.53) < 0.00001 Then

对于你的问题补充,原因如下:求余数是在两个整数之间进行,你用小数进行时,系统会先将小数四舍五入为整数后再进行,问题中实际上是365除以28余21,所以结果为false。
如果要想达到目的,可将if代码改为:
If Abs(Round(385.42 / 27.529) - 385.42 / 27.529) < 0.00001 Then

回答2:

在代码中,依然用Mod来返回余数,只是表示方法有出入而已。。
Abs(Cells(irow, 21)) Mod 27.53 < 0.00001

回答3:

If Abs(Cells(irow, 21)) mod 27.53 < 0.00001 Then
msgbox irow
end if

试试吧

回答4:

对不起,这个真不会!!!