0

VBA / Excelで2つの変数を比較しようとしていますが、VBAは、それらが同じであるにもかかわらず、同じではないと考えています。

2つのピボットテーブルを作成し、両方の値が同じかどうかを確認しています。

コードは次のとおりです。

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である可能性があります)、プログラムは必要に応じて小数点以下2桁に自動丸められます。

小数点以下の桁数を拡大して数値を比較し、まったく同じであることを確認しましたか?

  • 解決策は正しく、質問のコメントに見られるように、値を小数点以下2桁に丸めることで問題が修正されました。
于 2012-09-23T14:29:36.233 に答える