0

我正在尝试比较 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

结果:

在此处输入图像描述

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

谢谢!

4

1 回答 1

4

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

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

  • 解决方案是正确的,并且将值四舍五入到小数点后两位解决了问题,如问题的评论中所示。
于 2012-09-23T14:29:36.233 回答