ExcelVBAでコントロールオブジェクト(TextBoxとか)を変数制御する

ExcelVBAでコントロールオブジェクト(TextBoxとか)を変数制御する

入力するテキストボックスが複数あって、それを一度にクリアしたい!この範囲のやつだけはロックかけたい!ユーザーフォームってfor~next使えないのかなーと思った時に役に立ちました。


複数のコントロールを抱えたUserForm

120222-1

例えば、こんな感じのUserForm。コントロールオブジェクト名は、上からUserForm1.TextBox1~5です。何か入っているとして、これを全部クリアしたい。

普通?に書くと

やってられるか!というコードですね。

変数で制御!

こんな感じで出来ちゃいます!らくちん!もちろんTextBoxじゃなくてもいけますし、stepを使えば使える範囲も広がりますね。

ちなみに.Controlsは省略できます!(.Valueは省略できないですが)

いつも、「あ、あれどうやって書くんだっけ…」と思うので、まとめてみました!

追記

各コントロールオブジェクトのchangeイベントも変数で制御しちゃおうという記事も書きました。

公開日:2012/02/22

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)