F0000001_ユーザーフォームに最小化/最大化ボタンを表示させる

ユーザーフォームに最小化/最大化ボタンを表示させる 関数リファレンス

この関数について

ツール作成において、ExcelVBA(マクロ)を使うことの利点の一つは、ユーザーフォームにあるかと思います。Excelの利用率は2024年4月調査時点で61.9%(Utilly調べ)これは利用率なので、普及率はさらに高い割合かと思います。また、組織内で個人が使用する分にはインストールなどの手間が不要である場合が多いかと思います。この普及率・簡便さでユーザーフォームと同等の機能を持ったアプリはありません(たぶん)。このユーザーフォームはExcelのブックとは別で動作するウインドウが立ち上がり、入力受付などに使用できますが、最小化・最大化ボタンが付いていません。例えばユーザーフォームとなにか別のウインドウ(ブラウザ等)とを交互に操作するといった場合、操作性が悪いと私は感じます。この操作性の改善への答えのひとつが、この関数かと考えます。
※(私の)便宜上、関数と表記していますが関数ではありません。

使い方 ①ユーザーフォームを作成する

プロジェクトエクスプローラー上で右クリック⇒「挿入」⇒「ユーザーフォーム」を選択します。

使い方 ②ユーザーフォームのコードを表示する

赤枠内をダブルクリックしてコードを表示します。
リボンの「表示」⇒「コード」でも可
「F7」でも可

使い方 ③コードエリアへ関数をコピペ

コードエリアにはデフォルトで「UserForm_Click」プロシージャが表示されていると思いますが、無視or削除でOK。関数をコピペします。「Option Explicit」の指定は任意です。

【結果】ユーザーフォームに最小化/最大化ボタンが表示されます

最小化/最大化ボタンが表示されました。1点、通常のウインドウと異なる動作をする点があります。通常のウインドウだと最小化ボタンを押すとタスクバーからウインドウを呼び出せますが、ユーザーフォームはタスクバーに表示されません。代わりに、以下のように、画面の目立たない位置に小さく表示されます(Win11)の動作。

この関数は関数リファレンスからコピペ可能です!

この記事のタイトルを検索窓へ貼り付けて関数を検索してみましょう。 表示されたコードをクリックするだけでコピー完了! あとは自身で作成したモジュールに貼り付けるだけでこの関数を利用できます。サンプルコードもあり! 関数リファレンストップへ

Comment