【VBA】おしゃれなユーザーフォームの作り方
マクロ(VBA)ではユーザーフォームを作ることができるのですが、デフォルトで作ると灰色ばかりの無機質な見た目になりがちです。(業務用だとそんなイメージかもしれませんが)
ですが、ちょっと工夫するだけで意外とおしゃれなユーザーフォームを作ることができたりします。
そんなTipsをいくつか紹介したいと思います。
※アイディアは何個かあって、少しずつ更新で追加していきたいと思います。
①ボタンクリックで右側に広がるユーザーフォーム

まずはボタンクリックすることで、隠されたエリアが表示されるデザインを紹介します。
イメージは上の画像のような感じで、「開けゴマ」ボタンを押すと、ユーザーフォームの隠されたエリアが表示されます。
普段は見ない、使い方の説明などを隠しておくのに向いていると思います。
初めて使う人に、説明エリアを用意しておくと使うのがスムーズになりますよね。
作り方

まずは開く前の通常サイズで、ユーザーフォームを作成します。
(画像にHeight、Widthが書いてありますが、これは参考値です。好きな大きさで作ってください)

次にユーザーフォームのWidthを広くして、隠しエリアの要素を作成します。

ユーザーフォームのWidthは、プロパティウィンドウから数値で指定することができます。

最後に「開けゴマ」ボタンを設置すれば、準備は完了です。
あとは、簡単なコードを追加するだけです。
Private Sub UserForm_Initialize()
' ユーザーフォームを開いたときにWidthを変更する
Me.Width = 240
End Sub
Private Sub CommandButton1_Click()
' 「開けゴマ」ボタン
If Me.Width = 240 Then
Me.Width = 360 ' 開く
Else
Me.Width = 240 ' 閉じる
End If
End Sub追加が必要なコードは↑の2つです。
UserForm_Initializeによって、ユーザーフォームが起動したときにWidthを小さくして隠しエリアが見えないようにします。
CommandButton1_Clickは「開けゴマ」ボタンで、Widthが240なら360にして隠しエリアを表示させます。すでに隠しエリアが表示されているときは、反対に非表示にします。
こんな風に、Widthを変化させることによってボタンクリックで右側に広がるユーザーフォームを作ることができます。
これギミック感があって結構好きなんですよねぇ。
