プロが教える店舗&オフィスのセキュリティ対策術

EXCELのVB 独学でやってるものですが、

フォームの中のtextbox内に数値を入力して
ENTERを押したらtextboxに入力された数値が
カンマでくぎられた数字(1,000,000のように)
にしたいのですがアドバイスください

Selection.NumberFormatLocal = "#,##0_ "
を使えばできそうな気がするのですが・・・
あと一歩がわかりません。

A 回答 (3件)

こんばんは。


こんな風でどうかな?

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, _
              ByVal Shift As Integer)
Dim num As Variant
If KeyCode = 13 Then
 num = TextBox1.Text
 If IsNumeric(num) Then
  TextBox1.Text = Format$(num, "#,##0")
 End If
End If
End Sub
    • good
    • 0

>Selection.NumberFormatLocal = "#,##0_ "


を使えばできそうな気がするのですが・
Selection,NumberFormatLocalなどはエクセルのRangeに関するもので、それに貼り付けるActiveXのテキストボックスとは、別世界と考えるほうがよい場合が多いです。NumberFormatはRangeのほかにDATALABEL他数個あがってますが。ただし上記の例を離れると、一般にはSelectionはオブジェクトを選択します。
VBAの知識を応用する(特にVBに類推する)場合は、個別に調べる心がけが必要です。
正解はすでに出ています。Format 関数の利用でしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました 参考になりました

お礼日時:2005/07/11 08:23

下記のようにFormat関数を使えば簡単です。



テキストボックス.Text = Format(テキストボックス.Text, "#,##0")
    • good
    • 0

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