アプリ版:「スタンプのみでお礼する」機能のリリースについて

以前にユーザーフォーム上のテキストボックスにセル値反映する方法を下記(サンプル1)のようにお教えいただいたのですが、下記のようにマクロを組むとテキストボックスに小数が入力できなくなってしまいます。
どのようにしたら、テキストボックスに小数が入力できるようになるのでしょうか?
お教えください。

事例)「1.234」とテキストボックスに打ち込むと「1」
   「0.856」とテキストボックスに打ち込むと「0」と
   なってしまいます。

(サンプル1)
'A1のデータを反映するとした場合
'OptionButton1のコード
Private Sub OptionButton1_Click()
TextBox1 = Sheets("Sheet1").Range("a1")
End Sub

'B1に反映するとして
'OptionButton2のコード
Private Sub OptionButton2_Click()
TextBox1 = ""
End Sub

'TextBox1のコード
Private Sub TextBox1_Change()
If OptionButton2 = True Then
Sheets("Sheet1").Range("B1") = TextBox1.Value
End If
End Sub

A 回答 (3件)

マクロの回答をした者ですが


こちらで実行させたら小数点以下が表示されますので
マクロを組むと小数点以下が表示されないと言うことは無いと思います。
テキストボックスのプロパティでなにか設定したのではないでしょうか
一度テキストボックスを作り直してみてはいかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。

テキストボックスにFORMATを指定いたのが原因だったみたいでした。
このFORMAT指定をはずしたら上手くいきました。

何度も、ご教授ありがとうございます。

お礼日時:2009/07/25 09:22

テキストボックスには、数字英字記号など入力できます。

従って小数点も入力できます。結果はとりあえず文字列(注意)です。小数点つき数として扱いたいのなら、その文字列を数値、それもIntegerではなく、実数に変換せねばならない。これをやってますか。
テキストボックスとコマンドボタンをフォームに設け
Private Sub CommandButton1_Click()
Cells(1, "A") = Val(TextBox1.Text)
End Sub
それにエクセルのシートのセルの場合、表示形式の小数点以下桁数指定などもあります。
少数例でテスト済み。
    • good
    • 0
この回答へのお礼

ありがとうございます。

原因はテキストボックスのFormatを指定いたことだったみたいでした。

でも、mogasiさんのご返答大変参考になりました。

お礼日時:2009/07/25 09:27

こんばんは。



プロパティを省略ですか?
TextBox1.Value とか、TextBox1.Text とか、右辺であろうが、左辺であろうが省略しないほうがよいし、Range のプロパティも、.Value にしたほうがよいです。これは基礎だと思います。むしろ、マクロでは、そのプロパティの使い分けをするためですが。

>どのようにしたら、テキストボックスに小数が入力できるようになるのでしょうか?

ところで、その問題は、セルの書式が、「0」とか、小数点を出さないようになっているのではないでしょうか。

Sheets("Sheet1").Range("B1").NumberFormat = "General"  'これを入れれば変わるはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

原因はテキストボックスのFormatを指定いたことだったみたいでした。

でも、Wendy02さんのご返答大変参考になりました。

お礼日時:2009/07/25 09:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A