
ユーザーフォームのラベルを立体的に表示するSpecialEffect

タイトルなどで使うラベルを見た目をかっこよく見せたいと思いませんか?
コマンドボタンではできないラベルだからできる凹凸をつけた表示方法を活用して、コマンドボタンの代わりとして立体感のあるオリジナリティー溢れるラベルを使ってみませんか?
誰でも簡単にできるラベルのプロパティから設定ができますし、条件に応じて浮き出たり、凹ませたりもできるようにしましょう。
ラベルの表示を立体的に凹凸をつける
ユーザーフォームにラベルを配置すると初期設定では見慣れた普通のラベル表示となっていまが、この初期設定状態は「fmSpecialEffectFlat」が選択されている状態なのです。
ラベルのプロパティで凹凸をつける
まずは、ラベルの文字や書体・大きさなど文字色や背景色など様々な項目を設定できるプロパティで設定してみましょう。
1、上の図のように立体的に見せたいラベルをクリック

2、プロパティウィンドウが左下に表示されます

3、立体的に見せるにはSpecialEffectをクリック

4、▼が表示されるのでクリック

5、ラベルの表示表法を選択します

初期設定のfmSpecialEffectFlatを含め全部で5種類あります。
定数 | 値 | 立体表示 |
fmSpecialEffectFlat | 0 | ![]() |
fmSpecialEffectRaised | 1 | ![]() |
fmSpecialEffectSunken | 2 | ![]() |
fmSpecialEffectEtched | 3 | ![]() |
fmSpecialEffectBump | 6 | ![]() |
このように見た目が変わるとユーザーフォームの印象も変わりますよね。
このようにプロパティでラベルの凹凸を設定した場合は、当然ながら条件にかかわらず表示が固定されてしまいます。
そこでラベルが押されたら浮きだして、もう一度押されたら元も戻ることができるようにして実用的にしましょう。
スポンサーリンク条件によってラベルの文字を凹凸表示する

先ほどもお話しした通りラベルの文字の初期設定はフラット状態なので、ラベルが1回押されたら「男性」、もう1回押されたら「女性」、更にもう1回おされたら、「未選択」というように性別選択を例にラベルの文字と凹凸を設定してみましょう。
Private Sub Label1_Click()
If UserForm6.Label1.SpecialEffect = fmSpecialEffectFlat Then
With UserForm6.Label1
.SpecialEffect = fmSpecialEffectRaised
.Caption = “男性”
End With
ElseIf UserForm6.Label1.SpecialEffect = fmSpecialEffectRaised Then
With UserForm6.Label1
.SpecialEffect = fmSpecialEffectSunken
.Caption = “女性”
End With
ElseIf UserForm6.Label1.SpecialEffect = fmSpecialEffectSunken Then
With UserForm6.Label1
.SpecialEffect = fmSpecialEffectFlat
.Caption = “未選択”
End With
End If
End Sub
- ラベル1がクリックされたら
- ユーザーフォーム6のラベル1の表示形式が平面だったら
- ユーザーフォーム6のラベル1の
- 表示形式を浮き出させる
- 文字を「男性」にする
- Withステートメント終了
- 平面ではなく、浮き出ていたら
- ユーザーフォーム6のラベル1の
- 表示形式を凹ませる
- 文字を「女性」にする
- Withステートメント終了
- 浮きでてはなく、凹んでていたら
- ユーザーフォーム6のラベル1の
- 表示形式を平面させる
- 文字を「未選択」にする
- Withステートメント終了
- マクロ記録終了
このようにIfステートメント~Then,Elseif~Then,End Ifを使う事により、ラベルの凹凸状態を判別して表示形式をと文字を変更することができるようになります。
また、Captionの次に文字の色や背景色、更にセルに文字を記入させるVBAコードを書き足せば可能になるので、コマンドボタンと同じことがラベルでもできるようになりますので、ぜひ活用してみてはいかがですか?

ユーザーフォームでオリジナルフォーム作ろう
エクセルの作業時間を短縮して効率よく作業を可能にする「ユーザーフォーム」を使いこなすには、基本を押さえておきましょう。
1日400人ぐらいの方が見ていただいている意外と人気ページなんです。

文字を入力するのに絶対使うTextBox
ユーザーフォームにテキストボックスを使わないで済むのは、確認画面ぐらいかな?
テキストボックスとセルをリンクさせる様々な方法を組み合わせれば、作業時間はあっという間に短縮できます。

文字列だけじゃない!Labelもクリックできるので可能性大
ラベルといえばテキストボックスの説明として文字列で表示させるのが、基本の使い方ですがクリックするとプログラムを実行させることもできるのです。
工夫次第でできることは無限大に広がります。

どんなVBAコードをコマンドボタンに記述しますか?
ボタンをクリックすると記述したプログラムが作動して、繰り返し作業や手間がかかったことが一瞬で完了させることができます。
あんなこともこんなこともできちゃいますよ。


ご覧いただきありがとうございます。
ブログランキングに登録しています。
少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。





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