VBA比较两个变量

时间:2012-09-23 09:27:22

标签: excel-vba vba excel

我正在尝试比较VBA / Excel中的两个变量,但VBA认为它们不一样,即使它们是。

我创建了两个数据透视表,我正在检查它们中的值是否相同。

代码是:

Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables(2)
For Each Pi In pvt.PivotFields("Filialas").PivotItems
    With Sheets("Composite").Range("D:D")
    Set c = .Find(Pi.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        If Pi.DataRange.Value = c.Offset(0, 1).Value Then
            c.Offset(0, 6).Value = Pi.DataRange.Value & " equals " & c.Offset(0, 1).Value
            Else
            c.Offset(0, 6).Value = Pi.DataRange.Value & " does not equal " & c.Offset(0, 1).Value
        End If
    End If
    End With
Next

结果:

enter image description here

我不是程序员,所以我非常感谢你的想法。

谢谢!

1 个答案:

答案 0 :(得分:4)

问题可能是因为浮点数大于它们看起来的值(例如,它可能是61.812),如果需要,程序会自动舍入到小数点后两位。

您是否尝试过扩展小数位以比较数字以确保它们完全相同?

  • 解决方案是正确的,并将值四舍五入到小数点后两位修正了问题,如问题评论中所示。