ユーザーフォームのラベルをセルの文字で表示させる方法

ラベル

スポンサーリンク


オリジナル入力画面を作ることができるユーザーフォーム。

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

ラベルのプロパティで変更可能だけど、セルの値を表示させたいと思いませんか?

スポンサーリンク


スポンサーリンク

ラベルがセルの値に応じて自由自在に表示変更

ユーザーフォームのラベル(Label)とは、フォーム上に文字列を表示する為のコントロール(部品)です。

ラベルには直接文字入力などをするものではありませんが、フォーム上のお題(タイトル)や他のコントロールの説明書きなどに利用することが多いですね。

このラベルの名称変更は、ラベルコントロールのプロパティにあるCaptionで変更可能ですが、ちょっとした工夫しだいでとても便利なパーツになります。

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

ラベル名を条件に応じて表示変更させたい!

ユーザーフォームで住所録を作った時の事ですが、コマンドボタンを押すと指定したシートのセルに次々とデータが追記入力できるようになりますが、常に入力した文字が間違いなく転記されているか分からない場合もあります。(表示していないシートに転記している場合など)

そんな時にユーザーフォーム上でセルに転記されたデータが確認の為に、表示されたら便利だとおもいませんか?

この場合、Label1はユーザーフォーム上で常にセルの値に応じて表示が変わるっとことになりますね。

例えばこんな感じです。

Private Sub CommandButton1_Click()
Range(“A1”).Value = TextBox1.Value
Range(“B1”).Value = TextBox2.Value
Range(“C1”).Value = TextBox3.Value
UserForm1.Label1.Caption = Range(“A1”).Text
UserForm1.Label2.Caption = Range(“B1”).Text
UserForm1.Label3.Caption = Range(“C1”).Text
End Sub
  1. コマンドボタン1が押されたら
  2. セルA1の値はテキストボックス1の入力値に転記する
  3. セルB1の値はテキストボックス2の入力値に転記する
  4. セルC1の値はテキストボックス3の入力値に転記する
  5. ユーザーフォーム1のラベル1の名前はセルA1の値にする
  6. ユーザーフォーム1のラベル2の名前はセルB1の値にする
  7. ユーザーフォーム1のラベル3の名前はセルC1の値にする
  8. マクロ終了

そんなにむずかしくなかったでしょう?

これぐらいの数なら楽だけどたくさんあったら大変なのですが、根気よくこのまま書き続けても問題はありませんよ。

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

せっかくなので、複数のラベルをまとめてセルの値に書き換える、一括変換方法もありますよ。

各コントロールまとめて転記シリーズ

ユーザーフォームを使うと配置したコントロール(テキストボックスやラベルなど)とセルとの間で値のやり取りが多くなります。

よく使うのでまとめてみました。

値の場所転記したい場所説明ページ
セルの値ラベル名VBAコード
セルの値テキストボックスの値VBAコード
セルの値コマンドボタンの表示名VBAコード
セルの値セルの値VBAコード
テキストボックス入力値セルの値VBAコード
波乗りアヒル
波乗りアヒル

成績表作成には知っておきたいExcel-VBAもくじ

ボウリングハンデキャップのつけ方
HDCPの種類はリーグのルールにより複雑に ボウリングの成績表(リーグ戦)で必ず必要になるのが、ハンデキャップ(HDCP)です。 ボウリングご予約の時に一番多く使われているのが、女性にだけハンデキャップをつけてあげることが多いですね。 だいだい何点ぐらいのハンデキャップが多いの?
ボウリングリーグ対戦表の数字を名前に自動変換する方法
リーグ戦の対戦表をエクセルで作る時、数字で表されている番号を名前に自動的に変換できると作業時間が短くなり効率的ですね。たった2つのエクセル関数を使うだけで、簡単にできるんです。今回の回戦数を入力するだけで一発変換完了。もちろんお客様にスケジュール対戦表として渡すことも簡単ですよ。
人数に応じてリーグ対戦表を自動選択する方法
複数の表があり、条件に合った表を選んで、さらにセルの値を選んで数字を名前に自動変換できると、とても便利なエクセルができますよね。ボウリングのリーグ対戦表も人数により表が異なるので、参加人数が決まったら、自動的に表を選んで対戦番号がこれも自動的に参加者名に変換されると便利で作業効率がアップして時間短縮になりますよ。
波乗りアヒル
波乗りアヒル

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