アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、ユーザーフォームに60個のテキストボックスを設置しています。
数値入力されるとカンマが付くようコードを書いているのですが、まとめて処理できるようなコードはないでしょうか?

現在…

Private Sub TextBox1_Change()
TextBox1.Text = Format(TextBox1.Text, "#,##0")
End Sub

Private Sub TextBox2_Change()
TextBox2.Text = Format(TextBox2.Text, "#,##0")
End Sub

Private Sub TextBox3_Change()
TextBox3.Text = Format(TextBox3.Text, "#,##0")
End Sub

これを60個

試しにfor~Nextで書いてみましたが、失敗しました。

Dim c As Integer
For c = 1 To 60
Controls("TextBox" & c).Text = Format("TextBox" & c.Text, "#,##0")

Next
End Sub

ご存知の方、お力を貸してください。

ウィンドウズ7のエクセル2013を使用しています。

A 回答 (1件)

excelとのことですので、VBAですね。



単純に複数のコントロールを変数を用いて指定し、プロパティを設定するだけなら、Controlsコレクションを使用します。
http://www.moug.net/tech/exvba/0140013.html

ですが、

今回ご提示の質問のように、チェンジイベントをまとめて記述するには以下のような方法があります。
http://oshiete.goo.ne.jp/qa/8747288.html
    • good
    • 0
この回答へのお礼

すみません、カテゴリを間違ってしまったのにご回答ありがとうございました…。

教えて頂いたURLを見ながら、挑戦してみます。

お礼日時:2014/10/08 15:31

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

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