ユーザーフォームの複数のテキストボックスを一括空欄にする方法

ユーザーフォーム

エクセルで文字入力などをオリジナル入力画面で行える便利なユーザーフォーム。

文字入力の為に配置したテキストボックス(TextBox)の使用率は高いのですが、文字や数字を入力した後に、再度入力する際に毎回入力済み文字を消去するの面倒じゃないですか?

波乗りアヒル
波乗りアヒル

文字入力後コマンドボタン押したら、自動消去されたら便利ですよね。

スポンサーリンク


スポンサーリンク

コマンドボタン押すと転記後消去させる

そこで、便利に簡単に使うならば、コマンドボタンを押したらテキストボックスの入力した文字や数字を空欄(初期化)にするVBAコードを付け加えておきましょう。

テキストボックス空欄

コマンドボタンを押すと空欄になった

波乗りアヒル
波乗りアヒル

VBA初心者の私でも複雑なプログラミング知識の必要はなく、意外と単純で簡単にできますよ。

作業の流れはこんな感じですね。

  1. テキストボックスに文字や数字を入力する
  2. コマンドボタンで指定したセルに転記する
  3. 入力済みテキストボックスを空欄にする

ここでは、ユーザーフォームに配置した3つのテキストボックスに入力された文字や数字などの値を、セルにそれぞれ指定したセルに転記するようにコマンドボタンに書いたVBAコードを紹介します。

Private Sub CommandButton1_Click()
Range(“A1”).Value = TextBox1.Value
Range(“A2”).Value = TextBox2.Value
Range(“A3”).Value = TextBox3.Value
TextBox1.Value = “”
TextBox2.Value = “”
TextBox3.Value = “”
End Sub
  1. コマンドボタン1を押したら
  2. セルA1の値はテキストボックス1の値にする
  3. セルA2の値はテキストボックス2の値にする
  4. セルA3の値はテキストボックス3の値にする
  5. テキストボックス1を空欄にする
  6. テキストボックス2を空欄にする
  7. テキストボックス3を空欄にする
  8. マクロ終了

VBAコード2行目から4行目が、テキストボックス1・2・3にそれぞれ入力された値が指定されたセルに転記されるVBAコードです。

VBAコード5行目から7行目が、テキストボックス1・2・3にそれぞれ入力された値を「””」で空欄にしています。

これだけで複雑なコードの知識が無くてもとりあえず、イメージした事ができるので良しとしています。

波乗りアヒル
波乗りアヒル

住所録のデータ検索フォームで活用していますよ

スポンサーリンク

複数のテキストボックスをまとめて一括空欄

テキストボックスの数が少ないとこのようなVBAコードでいいのですが、10個・20個~50個もあったら繰り返しこのようなVBAコードを書き続けるのって面倒じゃありませんか?

そこで、エクセルVBAで多く使われているFor~Next「指定した回数だけ処理を繰り返す」というものです。

ここでは、ユーザーフォームに配置した50個のテキストボックスに入力された文字や数字などの値を、セルにそれぞれ指定したセルに転記するようにコマンドボタンに書いたVBAコードを紹介します。

  1. 50個のテキストボックスに文字や数字を入力する
  2. コマンドボタンで指定したセルに転記する
  3. 入力済み50個全てのテキストボックスを一括空欄にする

とても便利で簡単なので使わないなんて損ですよね。

実際には下記のようなVBAコードを書いています。

Private Sub CommandButton1_Click()
For i = 1 To 50
Cells(i , 0).Value = UserForm1.Controls(“TextBox” & i).Value
UserForm1.Controls(“TextBox” & i).Value = “”
Next i
End Sub
  1. コマンドボタン1を押したら
  2. 数字が変わる部分を変数「i」を宣言し変わる数字が1~50
  3. セル(i,0)の値はユーザーフォーム1に配置されたコントロール(テキストボックス番号の変数「i」の値を転記する
  4. ユーザーフォーム1のコントロール(テキストボックス番号の変数「i」)←【1~50】=空欄
  5. この作業を「i」に書いてある1~50まで繰り返して行う
  6. マクロ終了

これでユーザーフォーム1に配置されたテキストボックス1~50全ての値をセルA1~A50に転記した後に入力済みテキストボックスの値が一括で空欄になります。

波乗りアヒル
波乗りアヒル

ご覧いただきありがとうございます。

ブログランキングに登録しています。

少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。


Microsoft Officeランキング

ユーザーフォームを使えばこんなに便利に早く作業が終わりますよ
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?

タイトルとURLをコピーしました