dポイントプレゼントキャンペーン実施中!

お世話になります。

お世話になります。

VBAでフォームを作成しました。

”金額”というテキストボックスの数字を下記の様に表示したかったので記述しましたところエラーメッセージが出てしまいます。

Me.金額.Format = "合計:###,###,###,###円"

※エラーメッセージ
「メソッドまたはデータメンバが見つかりません」というエラーが出ています。

どなたかご教授いただけませんでしょうか?
よろしくお願い致します。

環境 Windows XP SP3 Excel2003

A 回答 (2件)

テキストボックスの内容をほかに使うのであればテキストボックスに数値だけを表示し、前後にラベルをつけたほうが良いような気がする。

 (そのような形式にすると、文字列になって数値処理が面倒になるような気がする。)
表示目的だけなら、textboxのconfirmedのイベントなどで
Me.金額.text = "合計:" & format(Me.金額.text,"###,###,###,###") & "円"
とするとか。
    • good
    • 1
この回答へのお礼

ShowMeHowさん、早速のご連絡ありがとうございます!

確かにおっしゃる通り前後にラベルをつけたほうが良いですね・・。(素人で申し訳ございません・・)

大変勉強になりました!!
ありがとうございました。

お礼日時:2013/04/10 10:42

こんばんは。



>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
    • good
    • 0
この回答へのお礼

WindFallerさん、ご連絡ありがとうございます!

説明がたりず申し訳ございませんでした。
仰る通り、UserFormのTextBoxでございます。

ご教授いただきました方法で実現できました。
詳細なロジックまで教えていただきまして本当にありがとうございました。

大変勉強になりました。
この度はありがとうございました。

お礼日時:2013/04/10 11:01

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

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


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