Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3123 / 13646 ツリー ←次へ | 前へ→

【64112】数式バーの表示 HB 10/1/19(火) 22:01 質問[未読]
【64113】Re:数式バーの表示 ponpon 10/1/19(火) 22:18 発言[未読]
【64115】Re:数式バーの表示 Abyss 10/1/19(火) 22:53 回答[未読]
【64116】Re:数式バーの表示 Abyss 10/1/19(火) 22:56 回答[未読]

【64112】数式バーの表示
質問  HB  - 10/1/19(火) 22:01 -

引用なし
パスワード
   こんばんは、質問です。
イベントは何でもいいのですがVBAで、Range("c1") = (Range("a1") - Range("b1")) * 10000 とした時に、Range("A1")に100、Range("B1")に91.9を入力してマクロを実行すると、Range("c1")には81000と表示されます。ここまでは問題ないのですが、数式バーには、80999.9999999999と表示されます。何故でしょう?

【64113】Re:数式バーの表示
発言  ponpon  - 10/1/19(火) 22:18 -

引用なし
パスワード
   ▼HB さん:
>こんばんは、質問です。
>イベントは何でもいいのですがVBAで、Range("c1") = (Range("a1") - Range("b1")) * 10000 とした時に、Range("A1")に100、Range("B1")に91.9を入力してマクロを実行すると、Range("c1")には81000と表示されます。ここまでは問題ないのですが、数式バーには、80999.9999999999と表示されます。何故でしょう?

エクセルは、少数の計算が苦手だからだと思います。

ht tp://pc.nikkeibp.co.jp/pc21/special/gosa/eg1.shtml など

【64115】Re:数式バーの表示
回答  Abyss  - 10/1/19(火) 22:53 -

引用なし
パスワード
   VBA君が理解しやすいように書くことですね。

Range("c1").value = Range("a1") *10000 - Range("b1") * 10000

【64116】Re:数式バーの表示
回答  Abyss  - 10/1/19(火) 22:56 -

引用なし
パスワード
   あるいはちゃんとデーターの形を指定してあげる

Range("c1").Value = (CDec(Range("A1")) - CDec(Range("B1"))) * 10000

3123 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free