
数量と単価を掛け算して金額を出すマクロを組んでいます。
(数量 * 単価 = 金額)
例えば、数量が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)
-
アクセスでの演算で少数点第1位まで表示するには。
Access(アクセス)
-
-
4
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
5
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
VBAで配列の計算
Excel(エクセル)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
10
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
11
実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません
Visual Basic(VBA)
-
12
ExcelVBAからAccessMDB内のテーブル存在チェックをしたい
Visual Basic(VBA)
-
13
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
16
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
17
VBAコード記述に際して、コード全体を自動的にインデント付ける方法
Access(アクセス)
-
18
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
19
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
20
VB初心者。小数点以下の表示でつまづいています(涙
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MsgBoxの中にある数字や日付の...
-
VBA コンボボックスの表示(日...
-
NTBackUpの設定
-
Format関数について
-
MSAccessでODBCを介してDB接続...
-
【VBA】計算結果に小数点第2位...
-
クリスタルレポートの改ページ...
-
チェックボックスのある行を非...
-
エクセルのメモについて教えて...
-
syntax error, unexpected $end...
-
MS-ACC2000 レポートでの日付書...
-
スイッチングハブのIPアドレス
-
スリープ状態とロック状態の違...
-
スタンバイに読み取れないメツ...
-
WindowsVista IISのバージョン...
-
ethtoolでリンク速度変更できない
-
Win7のVirtualboxにLinuxMint
-
点検で全館停電。ネットワーク...
-
IISが落ちた場合の動きについて
-
Parallels Desktopでどうしても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
MsgBoxの中にある数字や日付の...
-
チェックボックスのある行を非...
-
VBA 条件付き書式で空欄は適用...
-
マイナス記号を▲で表す方法
-
クリスタルレポートの改ページ...
-
syntax error, unexpected $end...
-
POIを使った書式設定
-
spread6.0(セル連結)
-
VBA コンボボックスの表示(日...
-
MSAccessでODBCを介してDB接続...
-
C#にて、他言語にローカライズ...
-
VBAの繰り返し処理について教え...
-
Access2010でExcelエクスポート
-
FORMAT関数で値が変わる
-
HTMLの設定コマンドで
-
grep で複数条件を指定
-
データファイルごとの設定ファ...
-
VBA 条件付き書式について
-
スライドショーの画像切替タイ...
おすすめ情報