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

userform ラベル

タイトルなどで使うラベルを見た目をかっこよく見せたいと思いませんか

コマンドボタンではできないラベルだからできる凹凸をつけた表示方法を活用して、コマンドボタンの代わりとして立体感のあるオリジナリティー溢れるラベルを使ってみませんか?

誰でも簡単にできるラベルのプロパティから設定ができますし、条件に応じて浮き出たり、凹ませたりもできるようにしましょう。

スポンサーリンク

ラベルの表示を立体的に凹凸をつける

ユーザーフォームにラベルを配置すると初期設定では見慣れた普通のラベル表示となっていまが、この初期設定状態は「fmSpecialEffectFlat」が選択されている状態なのです。

ラベルのプロパティで凹凸をつける

まずは、ラベルの文字や書体・大きさなど文字色や背景色など様々な項目を設定できるプロパティで設定してみましょう。

1、上の図のように立体的に見せたいラベルをクリック

ラベルfont変更1
ラベル

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

ラベルプロパティ
ラベルのプロパティ

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

specialeffect
SpecialEffectをクリック

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

specialeffect選択
クリックすると変更画面が表示されます

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

ラベルを立体的に表示
立体的な表示は選ぶだけ

初期設定のfmSpecialEffectFlatを含め全部で5種類あります。

定数 立体表示
fmSpecialEffectFlat 0 specialeffectFlat
fmSpecialEffectRaised 1 SpecialEffectRaised
fmSpecialEffectSunken 2 SpecialEffectSunken
fmSpecialEffectEtched 3 SpecialEffectEtched
fmSpecialEffectBump 6 SpecialEffectBomp

このように見た目が変わるとユーザーフォームの印象も変わりますよね。

このようにプロパティでラベルの凹凸を設定した場合は、当然ながら条件にかかわらず表示が固定されてしまいます。

そこでラベルが押されたら浮きだして、もう一度押されたら元も戻ることができるようにして実用的にしましょう。

スポンサーリンク

条件によってラベルの文字を凹凸表示する

ラベル立体的男女
左から凸、凹、平面

先ほどもお話しした通りラベルの文字の初期設定はフラット状態なので、ラベルが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

VBA解説
  1. ラベル1がクリックされたら
  2. ユーザーフォーム6のラベル1の表示形式が平面だったら
  3. ユーザーフォーム6のラベル1の
  4. 表示形式を浮き出させる
  5. 文字を「男性」にする
  6. Withステートメント終了
  7. 平面ではなく、浮き出ていたら
  8. ユーザーフォーム6のラベル1の
  9. 表示形式を凹ませる
  10. 文字を「女性」にする
  11. Withステートメント終了
  12. 浮きでてはなく、凹んでていたら
  13. ユーザーフォーム6のラベル1の
  14. 表示形式を平面させる
  15. 文字を「未選択」にする
  16. Withステートメント終了
  17. マクロ記録終了

このようにIfステートメント~Then,Elseif~Then,End Ifを使う事により、ラベルの凹凸状態を判別して表示形式をと文字を変更することができるようになります。

また、Captionの次に文字の色や背景色、更にセルに文字を記入させるVBAコードを書き足せば可能になるので、コマンドボタンと同じことがラベルでもできるようになりますので、ぜひ活用してみてはいかがですか?

スポンサーリンク

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Microsoft Officeランキング

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

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