エクセルで文字入力などをオリジナル入力画面で行える便利なユーザーフォーム。
文字入力の為に配置したテキストボックス(TextBox)の使用率は高いのですが、文字や数字を入力した後に、再度入力する際に毎回入力済み文字を消去するの面倒じゃないですか?
文字入力後コマンドボタン押したら、自動消去されたら便利ですよね。
スポンサーリンク
コマンドボタン押すと転記後消去させる
そこで、便利に簡単に使うならば、コマンドボタンを押したらテキストボックスの入力した文字や数字を空欄(初期化)にするVBAコードを付け加えておきましょう。
VBA初心者の私でも複雑なプログラミング知識の必要はなく、意外と単純で簡単にできますよ。
作業の流れはこんな感じですね。
- テキストボックスに文字や数字を入力する
- コマンドボタンで指定したセルに転記する
- 入力済みテキストボックスを空欄にする
ここでは、ユーザーフォームに配置した3つのテキストボックスに入力された文字や数字などの値を、セルにそれぞれ指定したセルに転記するようにコマンドボタンに書いたVBAコードを紹介します。
Range(“A1”).Value = TextBox1.Value
Range(“A2”).Value = TextBox2.Value
Range(“A3”).Value = TextBox3.Value
TextBox1.Value = “”
TextBox2.Value = “”
TextBox3.Value = “”
End Sub
- コマンドボタン1を押したら
- セルA1の値はテキストボックス1の値にする
- セルA2の値はテキストボックス2の値にする
- セルA3の値はテキストボックス3の値にする
- テキストボックス1を空欄にする
- テキストボックス2を空欄にする
- テキストボックス3を空欄にする
- マクロ終了
VBAコード2行目から4行目が、テキストボックス1・2・3にそれぞれ入力された値が指定されたセルに転記されるVBAコードです。
VBAコード5行目から7行目が、テキストボックス1・2・3にそれぞれ入力された値を「””」で空欄にしています。
これだけで複雑なコードの知識が無くてもとりあえず、イメージした事ができるので良しとしています。
住所録のデータ検索フォームで活用していますよ
複数のテキストボックスをまとめて一括空欄
テキストボックスの数が少ないとこのようなVBAコードでいいのですが、10個・20個~50個もあったら繰り返しこのようなVBAコードを書き続けるのって面倒じゃありませんか?
そこで、エクセルVBAで多く使われているFor~Next「指定した回数だけ処理を繰り返す」というものです。
ここでは、ユーザーフォームに配置した50個のテキストボックスに入力された文字や数字などの値を、セルにそれぞれ指定したセルに転記するようにコマンドボタンに書いたVBAコードを紹介します。
- 50個のテキストボックスに文字や数字を入力する
- コマンドボタンで指定したセルに転記する
- 入力済み50個全てのテキストボックスを一括空欄にする
とても便利で簡単なので使わないなんて損ですよね。
実際には下記のようなVBAコードを書いています。
For i = 1 To 50
Cells(i , 0).Value = UserForm1.Controls(“TextBox” & i).Value
UserForm1.Controls(“TextBox” & i).Value = “”
Next i
End Sub
- コマンドボタン1を押したら
- 数字が変わる部分を変数「i」を宣言し変わる数字が1~50
- セル(i,0)の値はユーザーフォーム1に配置されたコントロール(テキストボックス番号の変数「i」の値を転記する
- ユーザーフォーム1のコントロール(テキストボックス番号の変数「i」)←【1~50】=空欄
- この作業を「i」に書いてある1~50まで繰り返して行う
- マクロ終了
これでユーザーフォーム1に配置されたテキストボックス1~50全ての値をセルA1~A50に転記した後に入力済みテキストボックスの値が一括で空欄になります。
ユーザーフォームでオリジナルフォーム作ろう
エクセルの作業時間を短縮して効率よく作業を可能にする「ユーザーフォーム」を使いこなすには、基本を押さえておきましょう。
1日400人ぐらいの方が見ていただいている意外と人気ページなんです。
文字を入力するのに絶対使うTextBox
ユーザーフォームにテキストボックスを使わないで済むのは、確認画面ぐらいかな?
テキストボックスとセルをリンクさせる様々な方法を組み合わせれば、作業時間はあっという間に短縮できます。
文字列だけじゃない!Labelもクリックできるので可能性大
ラベルといえばテキストボックスの説明として文字列で表示させるのが、基本の使い方ですがクリックするとプログラムを実行させることもできるのです。
工夫次第でできることは無限大に広がります。
どんなVBAコードをコマンドボタンに記述しますか?
ボタンをクリックすると記述したプログラムが作動して、繰り返し作業や手間がかかったことが一瞬で完了させることができます。
あんなこともこんなこともできちゃいますよ。
ご覧いただきありがとうございます。
ブログランキングに登録しています。
少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。
エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?