ユーザーフォームのラベルを立体的に表示する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コードを書き足せば可能になるので、コマンドボタンと同じことがラベルでもできるようになりますので、ぜひ活用してみてはいかがですか?

あわせて読みたい
VBAでユーザーフォームのラベルの文字色を条件に応じて変更する方法 基本的にはクリックをして何かプログラムを作動させることが少ない「ラベル」ですが、条件に応じてラベルの文字色が赤く目立たせたいと思ったことはありませんか? 例え...

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

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

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

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

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

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

あわせて読みたい
テキストボックス使い方や便利な活用法やワザ エクセルのオリジナル入力フォームが作ることができるユーザーフォーム。 そこでコマンドボタン・ラベルと並んで使用頻度が高いテキストボックスの基本的な使い方と、活...

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

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

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

あわせて読みたい
ラベル使い方や便利な活用法やワザ エクセルのオリジナル入力フォームが作ることができるユーザーフォーム。 そこでコマンドボタン・ラベルと並んで使用頻度が高いテキストボックスの基本的な使い方と、活...

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

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

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

あわせて読みたい
コマンドボタンの使い方や便利な活用法やワザ エクセルのオリジナル入力フォームが作ることができるユーザーフォーム。 そこでテキストボックス・ラベルと並んで使用頻度が高いコマンドボタンの基本的な使い方と、活...
波乗りアヒル
波乗りアヒル

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

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

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


Microsoft Officeランキング

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

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

目次