
あるセルに1826.97792という数字が入力されており、
別のセルにも1826.97792と同じ数字が入力されています。
人間の目で見る限りまったく同じ数字です。
また、エクセル関数=if(・・・・・)で判定しても同じ数字という判定がでます。
しかしながら、VBAにて
if セル1=セル2 then
などとして比較すると、同じでないという判定結果になります。
どうしてこういうことが起きるのでしょうか?
また、プログラムを書くうえでの対処方法はどうすればいいのでしょうか?
ちなみに、数字は他の人が作ったファイルのもので、
改めて、手で入力しなおすと正しく判定されます。
No.1ベストアンサー
- 回答日時:
こんばんは。
この前、同様の内容の質問が出ていました。
>if セル1=セル2 then
>などとして比較すると、同じでないという判定結果になります。
おっしゃるとおり、そのままでは比較できません。
>1826.97792という数字が入力されており、別のセルにも1826.97792と同じ数字が入力されています。
これは、Double型です。Double型で、小数点が入っているので、無限小数が含まれていたりする可能性が高く、同じ数だと思っても違ってしまいます。(そのまま入力しても、入ることがあります)
その対処法は、
例えば、
Dim a As Double
Dim b As Long
Dim c As Double
Dim d As Long
a = Cells(1,1).Value
b = CLng(Fix(a * 100000))
c = Cells(1,2).Value
d = CLng(Fix(c * 100000))
というような、 方法で、一旦、小数点を固定してあげないと、比較できません。
なお、日付や時間値の場合は、Format$ 関数で、一旦、文字にして日時で比較する方法もあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) エクセルでシート保護のかかり方の違いとセルの非保護の設定 3 2022/08/09 10:02
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- その他(社会・学校・職場) 誰か聞いてください。 社会人6年目ですが、私はポンコツすぎますか? 上司にとあるAファイルの数式を全 1 2023/08/10 18:25
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
【エクセル】指定したセルに入...
-
入力した右のセルに同じ数字が...
-
空白でないセルの値を返す方法...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
【マクロ】開いているブックの...
-
エクセル
-
Excelでセルに入力されたカラー...
-
入力したところまでを自動的に...
-
エクセルの計算式について教え...
-
Excel 大小比較演算子による「...
-
エクセルで平均退社時間を出し...
-
エクセルで10分ごとの時刻の...
-
適当な数字を入れて文字列を出...
-
VBA 人の目には同じ数字に...
-
エクセルで2条件の判定により2...
-
エクセル マクロ ダブルクリ...
-
スプレッドシートで 時間入力の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
エクセルで既に入力してある文...
-
空白でないセルの値を返す方法...
-
入力したところまでを自動的に...
-
Excelでセルに入力されたカラー...
-
IF関数で0より大きい数値が入力...
-
yyyy/mm/ddからyyyy/mmへの変換
-
【Excel】セル内の時間帯が特定...
-
excel 関数にて文字を0として認...
-
Excel:文字と数字の組合せ、次...
-
エクセル セルに文字を入力した...
-
参照先セルに値が入っていない...
-
マクロ無しで時間自動で記入を...
-
エクセルで一定の数値を超えた...
-
エクセルの数式がかぶって、選...
-
Excel 大小比較演算子による「...
-
エクセル:コメントのようなも...
-
【エクセル】指定したセルに入...
-
エクセルで、特定のセルの内容...
おすすめ情報