テキストボックスの値をプロパティValueの値に書き換える方法

Loop繰り返し処理VBA

テキストボックスに入力された文字が自動的に消去されたり、指定した値に戻って欲しいと思ったことありませんか?

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

いちいち入力後にBACK SPACEで消すの面倒ですよね。

スポンサーリンク


目次

コマンドボタンを押したらValue値に必ず戻そう

ユーザーフォームを使ってテキストボックスに入力した文字や数字などの値を、コマンドボタンを押すことにより目的のセルに転記する作業を繰り返し入力作業をしますよね。

その時にコマンドボタンを押したら、テキストボックスに入力した文字や数字などの値がそのまま残っています。

繰り返し入力を行う時はいちいちテキストボックスの値を消して、新しい文字や数字を入力するのは面倒ですし時間の無駄になり非効率ですね。

そこで、コマンドボタンを押したらユーザーフォームに配置されたテキストボックスの値を空欄にするVBAコードを追加しておく方法を以前お話ししましたが、空欄でなく特定の文字や数字を表示するようにするにはどのようにすればいいでしょうか?

一番簡単に考えると、どこか特定のセルの値をテキストボックスに転記する方法がありますが、コードを書いてみたらできるようになりましたが、気分的にすっきりしませんでした。

  1. コマンドボタンを押したら、セルに転記する
  2. テキストボックスの値をセル〇〇の値を読み込んで表示する
  3. 複数あれば繰り返す
波乗りアヒル
波乗りアヒル

一応これでできますが・・・

なぜ気分的にすっきりしないかと言うと、テキストボックスのコントロールプロパティに初期値としてValue値を設定しているので、ユーザーフォームを呼び出した時はValue値が表示されるのになんでわざわざセルの値を読み込まなくてはいけないのか?

どうせならば、コマンドボタンを押したらValue値を読み込んでテキストボックスに表示できないものか?

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

単純にそう思いますよね。

ネットで色々調べてみましたが、調べ方が悪いのかなかなかヒットしないのでちょっと苦労しましたが、何とかうまくいくVBAコードにたどり着きました。

まだまだ未熟でしたね。

無駄に複雑に考えすぎてこんな単純な事に気づかなかったのか?出来た瞬間、VBAコードを見て思わず笑っちゃいました。無駄な時間使っちゃって・・・

UserForm1.Controls(“TextBox1”).Value = UserForm1.Controls(“TextBox1”).Value

たった1行のこのVBAコードをEnd Subの1行上に追加するだけです。実際はテキストボックスが複数あり、1つは空欄で残りはValue値にするので、追加したVBAコード完成形はこれです。

TextBox1.Value = “”
Dim i As Integer
For i = 2 To 7
UserForm1.Controls(“TextBox” & i).Value = UserForm1.Controls(“TextBox” & i).Value
Next i
  1. テキストボックス1は空欄にする
  2. 繰り返しの為の変数「i」を宣言
  3. 変数「i」は2~7
  4. ユーザーフォーム1の各テキストボックスの値は、ユーザーフォーム1の各テキストボックスのプロパティのValue値にする
  5. 繰り返す

これで、テキストボックス1は空欄にして、その他のテキストボックスは変数「i」は2から7なのでテキストボックス2~テキストボックス7までを繰り返しValue値を表示するようになります。

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

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

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

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


Microsoft Officeランキング

ユーザーフォームを使えばこんなに便利に早く作業が終わりますよ
あわせて読みたい
エクセルVBAで住所録入力フォームを作る方法 数百人規模の中規模の住所録や顧客データをエクセルで管理している事業所って意外と多いですが、データを検索して修正するのってすごく面倒じゃないですか? 面倒だなあ...
あわせて読みたい
ユーザーフォームでオリジナル入力画面を作る エクセルのデータ入力・検索・修正作業ってとても面倒で時間と手間がかかりませんか? この作業を簡単に素早く終わらせたくないですか? エクセル使うなら今話題の時短...
とりっぷぼうる
エクセル関数とVBAで和暦西暦対応カレンダー作成 | とりっぷぼうる エクセル関数を基本として作成し、ユーザーフォームで日付選択ができるようにすることで複雑なマクロが分からなくても、自由にカスタマイズして自分のエクセルに組み込んで...
あわせて読みたい
Excel-VBAもくじ~エクセルの作業時間を半減させる方法 【コピペOK】このExcel-VBAページに掲載している内容・VBAコードが、少しでもお役に立てるのであればコピーして使っていただいて構いません。 たった1秒で完了!驚異の...
波乗りアヒル
波乗りアヒル

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

目次