- ベストアンサー
エクセル VBA 計算方法
VBA初心者です。 ご指導お願いいたします。 A~C列にそれぞれお金の値段が入力されているので、D列に合計を出したいのですが、 特殊に入力されているので自分にはどうしていいものかわかりません。 例えば A列には5.3万とか6.2万などと入力されています。 B列には4,000円とか3,000円などと入力されています。 C列には800円などと入力されているうえに - 入力されているので - は0円とみなして計算して合計をD列に入力したいです。 どうか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の文面通りのルールなら、D列に、 =VALUE(SUBSTITUTE(A1,"万",""))*10000+VALUE(SUBSTITUTE(B1,"円",""))+IF(C1="-",0,VALUE(SUBSTITUTE(C1,"円",""))) といった関数でいけると思います。 VBAでやりたければ、VBAの関数と置き換えれば良いでしょう。 実は6万5千4百円というデータもありますなんて場合は話は別です。 ご参考まで。
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
回答No.2
#1です。 それでもと思って試しにやってみました。 VBAのVal関数は、val("100円")が、100を返すという機能がありますが、 ご質問の文字通りの全角のval("5.6万円")は、0になってしまうので、 Val(StrConv(Range("A1").Value, vbNarrow)) * 10000 としないといけないとか、 桁区切りが入っていると、 val("1,000円")は1になってしまうので、置換で除去する必要があるとか、 そのままお任せという訳にはいかない様でした。 ご参考まで。
お礼
ありがとうございました。 理解できました。