ユーザーフォームのテキストボックスとセルをリンクさせる方法

userform テキストボックス

ユーザーフォームに配置したテキストボックスには、文字や数字を入力したらコマンドボタンで特定のセルへ入力するのに使用します。

ところが、いつも決まったセルなのでユーザーフォームが表示されたら、特定のセルの値をテキストボックスに表示させたいと思ったことありませんか?

実は簡単で、テキストボックスとセルのデータをリンクさせるControlSourceを設定すれば解決します。

スポンサーリンク

TextBoxのプロパティControlSourceを設定する

テキストボックスとセルをリンクさせて入力値を共有させるには、プロパティで簡単に設定できて、セルだけではなくシートも指定できます。

テキストボックスプロパティ
クリックで拡大します

上の画像はテキストボックスのプロパティで、上から8番目にControlSourceがあり、右側が空欄になっているので、初期値(デフォルト)はどこのセルにもリンクしていない状態です。

この空欄部分にリンクしたいセル番地を入力すれば、テキストボックスとセルのリンクが完成します。

特定のセルとリンクする

ControlSourceの設定はとてもシンプルで、セルA1とリンクさせるならば、「A1」と入力すれば完成です。

ただし、この場合はデータリンクさせたシートを表示した状態でユーザーフォームが開いていることが条件になります。

これとは異なり、どこのシート上でも構わずにデータリンクさせるには、シートも同時に記入する必要があります。

シート名とセルを指定してリンクさせる

ControlSourceの設定はシート名も同時に指定できるので、この方法ならばユーザーフォームが開く時にどのシート上でも正確にリンクしてくれますので、「Sheet1!A1」と書けばいいだけです。

単純にシート名とセル番地の間にビックリマーク「!」を挟むだけです。

この他に文字書体や配置などのテキストボックスの設定もプロパティから可能で、複雑なVBAコードを書かなくてもすぐにできますよ。

スポンサーリンク

ユーザーフォームでオリジナルフォーム作ろう

エクセルの作業時間を短縮して効率よく作業を可能にする「ユーザーフォーム」を使いこなすには、基本を押さえておきましょう。

1日400人ぐらいの方が見ていただいている意外と人気ページなんです。

文字を入力するのに絶対使うTextBox

ユーザーフォームにテキストボックスを使わないで済むのは、確認画面ぐらいかな?

テキストボックスとセルをリンクさせる様々な方法を組み合わせれば、作業時間はあっという間に短縮できます。

文字列だけじゃない!Labelもクリックできるので可能性大

ラベルといえばテキストボックスの説明として文字列で表示させるのが、基本の使い方ですがクリックするとプログラムを実行させることもできるのです。

工夫次第でできることは無限大に広がります。

どんなVBAコードをコマンドボタンに記述しますか?

ボタンをクリックすると記述したプログラムが作動して、繰り返し作業や手間がかかったことが一瞬で完了させることができます。

あんなこともこんなこともできちゃいますよ。

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

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

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

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


Microsoft Officeランキング

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

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