比较VBA Excel中的两个范围

时间:2013-08-01 08:34:43

标签: excel vba

Noob问题:

我有两个相同大小的行向量范围,包含整数值。

我想比较范围的每两个十进制舍入值是否相同。

实施例

    A      B      C
1.  1.103  5.501  8.620
2.  1.101  5.507  8.629

所以如果我定义两个这样的范围

Dim rng1 As Range, rng2 As Range
set rng1 = .range("A1:C1")
set rng2 = .range("A2:C2")

然后CompareRoundedValues(rng1,rng2)应该返回True

有关如何定义CompareRoundedValues的任何建议?

1 个答案:

答案 0 :(得分:1)

如果你需要一些简单的粗略比较,你可以用这个简单的功能来实现:

Function CompareRoundedValues(rng1, rng2)
    If Round(Application.Sum(rng1),1) = Round(Application.Sum(rng2),1) Then 
         CompareRoundedValues= True
    Else
         CompareRoundedValues = False
    End if
End Function

如果需要精确,则需要在函数中添加一些循环以单独比较每个单元格。