VBAでは自分自身のオリジナルなダイアログボックス(ユーザーフォーム)を作成することができます。このダイアログボックスは自分自身でデザインを作成することができすごく便利な機能です。VBAのシステムですので、あまりデザインにこだわる必要もないのですが・・・でもやはりこのような残念なデザインでは使用する側もつまらないですよね(。-∀-)なので今回は少しでもユーザーフォームのデザインをマシにする方法を考えみましたのでお付き合いください。今回作るフォーム今回作るフォームは【frameコントロール】と【commandbuttonコントロール】を使用します。下の画像のように【frameコントロール】を普段は閉じた状態にしておいて、マウスがコントロール上に来た時に広がるようにしてアニメーション効果を表すようにしてみました。frameコントロール:適量commandbuttonコントロール:適量プログラムの流れ今回のデザインの流れは各コントロールの【MouseMoveイベント】を使用して、コントロール上にポインターが来たら高さ・幅を変更するコントロール上から離れたら高さ・幅を戻すの繰り返しをすることで簡単なアニメーション効果を得るようにしました。APIを使用して処理速度を調整しています。※ループ処理で動いているのでパソコンのスペックによっては重くなる可能性がありますのでご留意ください。デザインを変更するコード今回の処理のコードをご紹介します。言ってキレイなコードではありません(笑)ですのでアイデアとして受け取っていただき、ご自由に改変してください(。-∀-)処理イメージが想像つかない場合はダウンロードファイルで確認してください(。'モジュールの一番上にペーストしてください。'UserForm上にマウスが来た時に書くコントロールの高さ・幅をもとに戻す。'モジュールの一番上にペーストしてください。Single)'UserForm上にマウスが来た時に書くコントロールの高さ・幅をもとに戻す。Subダウンロード当サイトの免責事項をお読みになってからお使いください。@taka_pc1027■YouTubeチャンネル登録ファイルやコードの利用、WEBサイトの利用についてサンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。TipsExcelVBAオススメ記事この記事が気に入ったらいいねしよう!最新記事をお届けします。コメントをキャンセルメールアドレスが公開されることはありません。*サイトVBA【Sleep関数(API)】指定した時間分処理を止めるVBA【Split関数】文字列を分割できるRECOMMENDこちらの記事も人気です。pvプロフィールどうも本サイト【E-VBA】のtakaと申します!ひょんなことからVBAを学ぶことになった非IT社員です。