VBAプログラムを構築する際に奇妙な問題に遭遇しています。プログラムは、CSVファイルを取り込み、それを取り戻す前に何らかの再フォーマットを行います。私はプログラムで2桁の数字が3桁の数字よりも大きいと考えている問題に取り組んでいます。例えば、それは60が、120よりも大きいと思いますが、60が80未満であることを認識し、そして100という未満以下は120である私のコードスニペット:2桁の数字がVBAの3桁の数字より大きい問題
私のファイルは、AAのCSVは、次のように設定されているif Rate < Miles and (Miles > 60 and Miles <=80) then
Rate = 80
elseif Rate < Miles and (Miles > 80 and Miles <=120) then
Rate = 120
End if
:
90210,90201,60,61
90201,90210,60,100
CSVファイルでは、各行の最後の2つの数字が私が注目しているものです。 60年代はレートで、61と100はマイルです。このプログラムを実行すると、最初の行に進み、Rateを60から80に変更します。これは正しいです。問題は、60行目を60にして120に変更するのではなく、2行目を実行するときです。
このセクションでブレークポイントを設定し、変数が正しく読み込まれています。マイルは100に等しくなりますが、Rate = 120
部分をスキップします。テストとして、私はRate < Miles
をRate > Miles
に変更しました.の行は、60が100未満であると考えられていたので、十分に変更されました。もちろん、3桁のレートを実行するときにこの変更を行うと他の問題が発生します。誰でもアイデアはありますか?