VBAでのオブジェクト名の付け方で困っています。
私が知りたいのはユーザフォームを一度作成した後にオブジェクトを追加したときのオブジェクト名の処理の仕方です。
今、EXCEL VBAでアンケート入力フォームを作成しています。テキストボックスやチェックボックスが全部で70ほどあります。以下のようにControlsコレクションを用いてユーザフォームに入力した文字列などをワークシートに追加しています。
……<略>
For i = 1 To 10
Cells(Row, i).Value = Me.Controls("CheckBox" & i ).Value
Next i
……<略>
しかし、入力フォームの画面構成を変更して、新たにテキストボックスやチェックボックスを追加すると、例えば、ユーザフォーム上で隣り合ったTextBox1とTextBox2の間にTextBox35が入ってきて以下のようにコードを書き換えねばなりません。
……<略>
Cells(Row, 1).Value = Me.CheckBox1.Value
Cells(Row, 2).Value = Me.CheckBox35.Value
For i = 2 To 10
Cells(Row, i+1).Value = Me.Controls("CheckBox" & i ).Value
Next i
……<略>
プロパティからオブジェクト名のひとつひとつを編集してユーザフォームのテキストボックスの表示順にするのも手間ですし……まだ、設計の試行錯誤の段階なのでまだまだテキストボックスやチェックボックスを追加・削除をすると思いますし……
何か効率のよいオブジェクト名の付け方はないでしょうか?
みなさんはどのようにされていますか?
お礼
ありがとうございました。 オブジェクト名のところにこだわっていました。