Excel VBA質問箱 IV

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

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


8900 / 13644 ツリー ←次へ | 前へ→

【30323】テキストボックスでの計算 snoopy 05/10/25(火) 14:31 質問[未読]
【30364】Re:テキストボックスでの計算 かみちゃん 05/10/25(火) 21:05 回答[未読]
【30418】Re:テキストボックスでの計算 snoopy 05/10/27(木) 10:08 質問[未読]
【30428】Re:テキストボックスでの計算 かみちゃん 05/10/27(木) 12:25 回答[未読]
【30436】Re:テキストボックスでの計算 snoopy 05/10/27(木) 13:59 お礼[未読]

【30323】テキストボックスでの計算
質問  snoopy  - 05/10/25(火) 14:31 -

引用なし
パスワード
   お世話になっています。

早速質問なのですが、
フォームないにテキストボックスが6個あり、テキストボックス1には、
数量、2には仕入単価、3には仕入金額、4には販売単価、5には販売金額
6には差益を表示したいのですが、数値以外の入力があった場合"-"を表示
させるようにしています。

Private Sub TextBox4_Change()
Dim l合計 As Long
  l合計 = 0
  If IsNumeric(TextBox4.Value) Then
    l合計 = TextBox1.Value * TextBox4.Value
    TextBox5.Value = l合計
  Else
    TextBox4.Value = "-"
    TextBox5.Value = "-"
  End If
  
  If IsNumeric(TextBox4.Value) Then
    l合計 = TextBox3.Value - TextBox4.Value
    TextBox8.Value = l合計
  ElseIf IsNumeric(TextBox5.Value) Then
    l合計 = TextBox3.Value - TextBox4.Value
    TextBox8.Value = l合計
  Else
    TextBox8.Value = "-"
  End If

上記のようなコードを組んだのですが、空白など数値以外の入力をすると
エラーが発生してしまいます。
"-"が計算式の中に入ってしまっているためだと思うのですが、
Val()でくくってしまうと、コンマ編集している数字のため、
計算できなくなってしまいます。
何か良い方法はありますでしょうか??

【30364】Re:テキストボックスでの計算
回答  かみちゃん  - 05/10/25(火) 21:05 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Val()でくくってしまうと、コンマ編集している数字のため、
>計算できなくなってしまいます。

コンマを取り除けばいかがでしょうか?
Val(Replace(TextBox1.Value, ",", ""))

【30418】Re:テキストボックスでの計算
質問  snoopy  - 05/10/27(木) 10:08 -

引用なし
パスワード
   かみちゃんさん、ご回答ありがとうございます。
返信が送れてしまい、申し訳ございません。

>コンマを取り除けばいかがでしょうか?
>Val(Replace(TextBox1.Value, ",", ""))

大変申し訳ないのですが、Replaceの使い方が
ネットやヘルプなどで調べたのですがどうしてもわかりません。。。
探し方が悪いのか、自分に理解力がないもので。。。
ネットなどで説明があるページなどでも良いので、
なにかヒントをいただけますでしょうか??

よろしくお願いします。

【30428】Re:テキストボックスでの計算
回答  かみちゃん  - 05/10/27(木) 12:25 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>コンマを取り除けばいかがでしょうか?
>>Val(Replace(TextBox1.Value, ",", ""))
>
>大変申し訳ないのですが、Replaceの使い方が
>ネットやヘルプなどで調べたのですがどうしてもわかりません。。。

ヘルプや以下のURLでどういうところがわからないのかを教えていただけませんか?
http://members.at.infoseek.co.jp/t_shun/My_Page/Excel-VBA/vba_page17.htm#文字列の置換

【30436】Re:テキストボックスでの計算
お礼  snoopy  - 05/10/27(木) 13:59 -

引用なし
パスワード
   かみちゃんさん、ご回答ありがとうございます。

すいません。URL先での解説で理解できました。
使いどころの問題もあり、正しく表示されず
悩んでいたのですが、設置場所が間違っていたため
うまく表示されていませんでした。

かみちゃんさん貴重なお時間割いてご指導いただき
ありがとうございます。

また御世話になることがあるかと思いますが、
ありがとうございました!!

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