- ベストアンサー
ユーザーフォームに書式設定は出来るのでしょうか
お世話になっています。 ユーザーフォームにテキストボックスを配置し品名・数量・単価・金額等を入力しています。 ●御指導いただきたき事 1・数量・単価を入力し終わった時、,(カンマ)を表示させたいのですが可能なのでしょうか 入力(123456789) → 表示(123,456,789) 2・可能ならば設定の方法を御指導ください。 宜しく御願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 既に回答が出ているとは思いますが、少し割り込ませていただきます。 > 1・数量・単価を入力し終わった時、,(カンマ)を表示させたいのですが可能なのでしょうか > 入力(123456789) → 表示(123,456,789) これは、VB6のテキストに出てきます。 カンマを入れる場合は、Format 関数で、戻すときは、CLng や CDbl 関数を使います。しかし、Excelシートのセルに出す場合は、カンマ付きでも構いません。 コントロールの数がある場合は、例えば、こんな風にしてもよいです。 例: #1さんと被らないように、Enter キーで、変換させる方法を選んでみました。 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then TextBox1.Value = Num2Fig(TextBox1.Value) End If End Sub '------------------------------------ 'ユーザー定義関数 Function Num2Fig(ByVal arg As Variant) Dim ret As Variant If IsNumeric(arg) And InStr(arg, ",") = 0 Then ret = Format$(arg, "#,##0") ElseIf IsNumeric(arg) And InStr(arg, ",") > 0 Then ret = CDbl(arg) '戻す場合 Else ret = arg End If Num2Fig = ret End Function
その他の回答 (2)
- hallo-2007
- ベストアンサー率41% (888/2115)
テキストボックスには、シートのセルの様な表示形式の設定がないです。 VBAで似たような操作をしています。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_030.html を参考にしてみてください。
お礼
hallo-2007様 参考になるアドレスご紹介いただきありがとうございました。 お気に入りに入れました。
- zap35
- ベストアンサー率44% (1383/3079)
>入力(123456789) → 表示(123,456,789) よくわかりません。テキストボックスの表示をカンマ付きにしたいのですか? それなら例えばこんな感じでしょう Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1.Text) Then TextBox1.Text = Format(Val(TextBox1.Value), "#,##0") End If End Sub そうではなく、テキストボックスの内容をワークシートに転記したときに、ワークシート上の表示をカンマ付きにしたいのですか? Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1.Text) Then Range("A1").Value = Val(TextBox1.Value) Range("A1").NumberFormat = "#,##0" End If End Sub テキストボックスの戻り値は「文字列」です。下手にカンマ付きにすると後が大変かもしれませんよ。ご注意ください
お礼
zap35様 「テキストボックスの表示をカンマ付きにしたい」方です。 質問内容をご推察いただき二通りも、御回答有難うございました。 感謝申し上げます。
お礼
Wendy02様 御多忙のところ、御回答賜りありがとうございました。 >これは、VB6のテキストに出てきます。 意味が解らなかったので、検索して見ました。 今後は質問する前に、内容が理解出来ないとは思いますがここを開いてみます。 ☆勝手なお願いですが、下記質問を御覧いただけないでしょうか。 質問投稿日時:08/12/10 22:14 質問番号:4545612