
数量と単価を掛け算して金額を出すマクロを組んでいます。
(数量 * 単価 = 金額)
例えば、数量が5829、単価が9.98だと金額は58173.42になると思います。
(5829 × 9.98 = 58173.42)
小数点第2位までを表示させるためには、どのような書き方で表示できますでしょうか?
私のほうで色々錯誤してるのですが、小数点第2位までの表示は出来るのですが、マクロ実行後に
#####.00というように0表示になってしまいます。
上記のように「58173.42」まで出すようにしたいのですが、0表示や数値の丸め無く表示させるにはどうすればよいでしょうか。
アドバイス等くだされば幸いです。
宜しくお願いいたします。
No.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 関数も確認)
回答ありがとうございます。
マクロを確認したらデータ型が定義されていませんでした。
今回、double型で定義したところ意図通り小数点第2まで表示されるようになりました。恐らく前任者が定義せずに作成していたようです。
詳細にアドバイス頂きありがとうございました。
また何かあれば宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
-
4
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
VBAで配列の計算
Excel(エクセル)
-
7
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
8
Excel VBAにてソートが上手くいかない
その他(Microsoft Office)
-
9
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
12
EXCELVBAでSQLserverからデータをひっぱってきてエクセルに表示させたい
Visual Basic(VBA)
-
13
VBAの日付チェックでオーバーフローを回避したい。
Access(アクセス)
-
14
VB初心者。小数点以下の表示でつまづいています(涙
Visual Basic(VBA)
-
15
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
18
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
19
VBAでテキストボックス内の編集をする方法
Visual Basic(VBA)
-
20
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
[VB.net] ボタン(Flat)のEnable...
-
【VBA】 結合セルに複数画像と...
-
vba textboxへの入力について教...
-
VB.net 文字列から日付型へ変更...
-
Excel VBA 選択範囲の罫線色の...
-
【ExcelVBA】値を変更しながら...
-
VBAで特定の文字が入った行をコ...
-
【マクロ】並び替えの範囲が、...
-
【VBA】値を変更しながら連続で...
-
vbs ブック共有を解除
-
VBA ユーザーフォーム ボタンク...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
Vba セルの4辺について罫線が有...
-
ダブルクリックで貼り付けた画...
-
Excelのマクロについて教えてく...
-
VBAでユーザーフォームを指定回...
-
VBAでセルの書式を変えずに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
MsgBoxの中にある数字や日付の...
-
spread6.0(セル連結)
-
クリスタルレポートの改ページ...
-
チェックボックスのある行を非...
-
VBA 条件付き書式で空欄は適用...
-
VBA コンボボックスの表示(日...
-
マイナス記号を▲で表す方法
-
VBAの繰り返し処理について教え...
-
C#にて、他言語にローカライズ...
-
時間表示で0:48:17と入力すると...
-
VBでエクセル出力の文字を太字...
-
MSAccessでODBCを介してDB接続...
-
grep で複数条件を指定
-
Format関数について
-
NTBackUpの設定
-
16進数の文字列を普通の文字列...
-
syntax error, unexpected $end...
-
FORMAT関数で値が変わる
-
Excel VBA セル塗りつぶし
おすすめ情報