- ベストアンサー
VBA テキストボックスに3桁カンマ表示させたい
お世話になります。 お世話になります。 VBAでフォームを作成しました。 ”金額”というテキストボックスの数字を下記の様に表示したかったので記述しましたところエラーメッセージが出てしまいます。 Me.金額.Format = "合計:###,###,###,###円" ※エラーメッセージ 「メソッドまたはデータメンバが見つかりません」というエラーが出ています。 どなたかご教授いただけませんでしょうか? よろしくお願い致します。 環境 Windows XP SP3 Excel2003
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
テキストボックスの内容をほかに使うのであればテキストボックスに数値だけを表示し、前後にラベルをつけたほうが良いような気がする。 (そのような形式にすると、文字列になって数値処理が面倒になるような気がする。) 表示目的だけなら、textboxのconfirmedのイベントなどで Me.金額.text = "合計:" & format(Me.金額.text,"###,###,###,###") & "円" とするとか。
その他の回答 (1)
- WindFaller
- ベストアンサー率57% (465/803)
こんばんは。 >VBAでフォームを作成しました。 それは、Excelの場合ですから、UserFormのTextBox ということですね。 どういう入力方法なのか分かりませんが、以下は、エンターを入れると、 合計:1,234,567円 というスタイルになります。 >合計:###,###,###,###円" ワンフレーズ("#,##0")だけで良いです。 修正は、カンマの位置は気にしなくてよいです。 '// Private Sub 金額_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim num As Variant If KeyCode <> 13 Then Exit Sub num = Replace(金額.Text, "合計:", "") '修正の場合に、文字列を抜く num = Replace(num, "円", "") If IsNumeric(num) Then num = CDbl(num) 金額.Text = "合計:" & Format(num, "#,##0") & "円" End Sub
お礼
WindFallerさん、ご連絡ありがとうございます! 説明がたりず申し訳ございませんでした。 仰る通り、UserFormのTextBoxでございます。 ご教授いただきました方法で実現できました。 詳細なロジックまで教えていただきまして本当にありがとうございました。 大変勉強になりました。 この度はありがとうございました。
お礼
ShowMeHowさん、早速のご連絡ありがとうございます! 確かにおっしゃる通り前後にラベルをつけたほうが良いですね・・。(素人で申し訳ございません・・) 大変勉強になりました!! ありがとうございました。