Excel VBA質問箱 IV

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

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


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

【31552】コンマ編集した値の小数点 snoopy 05/11/25(金) 14:34 質問[未読]
【31580】Re:コンマ編集した値の小数点 ichinose 05/11/25(金) 19:50 発言[未読]
【31673】Re:コンマ編集した値の小数点 snoopy 05/11/28(月) 10:18 お礼[未読]

【31552】コンマ編集した値の小数点
質問  snoopy  - 05/11/25(金) 14:34 -

引用なし
パスワード
   いつも御世話様です。

早速質問なのですが、
コンマ編集のため、下記のようなコードを組んでいます。

  入力値1 = TextBox3.Value
  編集値1 = Format(入力値1, "###,###,###")    
  TextBox3.Value = 編集値1

ここに小数点のある数字を入力すると
自動的に四捨五入になってしまうのですが
なにか良い方法はあるでしょうか??

ひとつ思いついたのは
Format(入力値1, "###,###,###.#")
にすればよいのかと思ったのですが、
小数点のない数字を入力すると、100.というような形で
表示されてしまい結局だめでした。。。


説明不足の箇所も多々あると思いますが、
よろしくご指導お願い致します。

【31580】Re:コンマ編集した値の小数点
発言  ichinose  - 05/11/25(金) 19:50 -

引用なし
パスワード
   ▼snoopy さん:
こんばんは。
>
>早速質問なのですが、
>コンマ編集のため、下記のようなコードを組んでいます。
>
>  入力値1 = TextBox3.Value
>  編集値1 = Format(入力値1, "###,###,###")    
>  TextBox3.Value = 編集値1
>
>ここに小数点のある数字を入力すると
>自動的に四捨五入になってしまうのですが
>なにか良い方法はあるでしょうか??
>
>ひとつ思いついたのは
>Format(入力値1, "###,###,###.#")
>にすればよいのかと思ったのですが、
>小数点のない数字を入力すると、100.というような形で
>表示されてしまい結局だめでした。。。
小数点以下がある数字とない数字で分けてみたらいかがですか?

'=========================================================
Private Sub CommandButton1_Click()
  Dim ans As Variant
  With TextBox1
    ans = Replace(Replace(.Text, ",", ""), "\", "")
    If IsNumeric(ans) Then
     If Int(ans) = Val(ans) Then
       .Text = Format(ans, "#,#0")
     Else
       .Text = Format(ans, "#,#0." & String(Len(CStr(Val(ans) - Int(ans))) - 2, "#"))
       End If
     End If
  End With
  
End Sub


一例ですが、試してみてください。

【31673】Re:コンマ編集した値の小数点
お礼  snoopy  - 05/11/28(月) 10:18 -

引用なし
パスワード
   ichinose さん、ご回答ありがとうございます。
返信が遅れて申し訳ございませんでした。

>小数点以下がある数字とない数字で分けてみたらいかがですか?
>

小数点があるか無いかでわけるとは、なるほどです。

ichinoseさんのコードを参考に、作らせていただきました。
思ったとおり動いてくれました。
ありがとうございます!!

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