アプリ版:「スタンプのみでお礼する」機能のリリースについて

数量と単価を掛け算して金額を出すマクロを組んでいます。
(数量 * 単価 = 金額)

例えば、数量が5829、単価が9.98だと金額は58173.42になると思います。
(5829 × 9.98 = 58173.42)

小数点第2位までを表示させるためには、どのような書き方で表示できますでしょうか?

私のほうで色々錯誤してるのですが、小数点第2位までの表示は出来るのですが、マクロ実行後に
#####.00というように0表示になってしまいます。

上記のように「58173.42」まで出すようにしたいのですが、0表示や数値の丸め無く表示させるにはどうすればよいでしょうか。

アドバイス等くだされば幸いです。

宜しくお願いいたします。

A 回答 (3件)

こんばんは、


不思議ですね。実際の表示される値は、幾つなのですか?
58173.00 それとも 58174.00 はたまた、58290.00
セルの書式設定とか、VBAでRound?関数とかFormat 関数とか使っていませんか?
セルの書式が標準なら、VBAで、
そのまま、Range("A1") = 5829 * 9.98 
A1の値は58173.42

仮に変数に代入しているとして、すべてがVariantなら
dim val1,val2
val1=5829
val2=9.98
Range("A1") =val1(Variant/Integer)*val2(Variant/Double)()内は型
で出力できるかと
もう一つ変数を使用する場合
dim val1,val2
dim test
val1=5829
val2=9.98
test=val1*val2
testはVariant/Doubleで問題ない
Range("A1") =test
ちなみに
integerの場合 オバーフロー
long の場合 整数

58290.00の場合は、変数型がLongになっている可能性が高いので確認してください。

58173.00の場合
Round関数やROUNDDOWN関数を使用している場合は、桁数設定を確認してみてください。(Format 関数も確認)
58174.00の場合
上記同様にROUNDUP関数を確認してください。

使用していない場合は、セルの書式設定をご確認ください。
(Format 関数も確認)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

マクロを確認したらデータ型が定義されていませんでした。

今回、double型で定義したところ意図通り小数点第2まで表示されるようになりました。恐らく前任者が定義せずに作成していたようです。

詳細にアドバイス頂きありがとうございました。

また何かあれば宜しくお願いいたします。

お礼日時:2021/02/15 16:26

数量、単価、金額の各変数の型はどうなってますか?

    • good
    • 0

変数をバリアント型で使うからそうなる



変数をキチンと実数型で宣言して使えば良いと思うけど
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A