值X是否在一个范围内?

时间:2015-10-09 20:40:17

标签: excel-vba vba excel

我有一个数字,比如1535.25存储为变量possibleDup,我试图与另一个数字进行比较,比如说1535变量realNumber }。这两个都是相同的数字,只有一个将被舍入/截断(realNumber往往被截断,所以我不能进行直接的数字比较。)

我试图查看我的possibleDup号码是否在realNumber的1之内。当我做If possibleDup = realNumber Then ...时,它很少会运行,因为一个往往有小数,而另一个没有。

通常情况下,我执行If (realNumber + 1) >= possibleDup >= (realNumber - 1) Then ...,但您无法在VB(AFAIK)中设置逻辑语句。

(欢迎提供其他想法。我也尝试过If left(possibleDup,search(".",possibleDup)-1) = realNumber,但我的possibleDup一直没有小数点,所以我必须延长我的代码来解释这一点)。

也许将这些值设置为String而不是Long并在字符串中进行搜索?

1 个答案:

答案 0 :(得分:1)

您需要使用And运算符来链接布尔测试的条件:

If (realNumber + 1) >= possibleDup And possibleDup >= (realNumber - 1) Then

在这种特定情况下,你可以这样做:

If Abs(realNumber - possibleDup) <=1 Then