• ベストアンサー

VBA テキストボックスに3桁カンマ表示させたい

お世話になります。 お世話になります。 VBAでフォームを作成しました。 ”金額”というテキストボックスの数字を下記の様に表示したかったので記述しましたところエラーメッセージが出てしまいます。 Me.金額.Format = "合計:###,###,###,###円" ※エラーメッセージ 「メソッドまたはデータメンバが見つかりません」というエラーが出ています。 どなたかご教授いただけませんでしょうか? よろしくお願い致します。 環境 Windows XP SP3 Excel2003

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

テキストボックスの内容をほかに使うのであればテキストボックスに数値だけを表示し、前後にラベルをつけたほうが良いような気がする。 (そのような形式にすると、文字列になって数値処理が面倒になるような気がする。) 表示目的だけなら、textboxのconfirmedのイベントなどで Me.金額.text = "合計:" & format(Me.金額.text,"###,###,###,###") & "円" とするとか。

yakkun2338
質問者

お礼

ShowMeHowさん、早速のご連絡ありがとうございます! 確かにおっしゃる通り前後にラベルをつけたほうが良いですね・・。(素人で申し訳ございません・・) 大変勉強になりました!! ありがとうございました。

その他の回答 (1)

回答No.2

こんばんは。 >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

yakkun2338
質問者

お礼

WindFallerさん、ご連絡ありがとうございます! 説明がたりず申し訳ございませんでした。 仰る通り、UserFormのTextBoxでございます。 ご教授いただきました方法で実現できました。 詳細なロジックまで教えていただきまして本当にありがとうございました。 大変勉強になりました。 この度はありがとうございました。

関連するQ&A