この関数について
ツール作成において、ExcelVBA(マクロ)を使うことの利点の一つは、ユーザーフォームにあるかと思います。Excelの利用率は2024年4月調査時点で61.9%(Utilly調べ)これは利用率なので、普及率はさらに高い割合かと思います。また、組織内で個人が使用する分にはインストールなどの手間が不要である場合が多いかと思います。この普及率・簡便さでユーザーフォームと同等の機能を持ったアプリはありません(たぶん)。このユーザーフォームはExcelのブックとは別で動作するウインドウが立ち上がり、入力受付などに使用できますが、最小化・最大化ボタンが付いていません。例えばユーザーフォームとなにか別のウインドウ(ブラウザ等)とを交互に操作するといった場合、操作性が悪いと私は感じます。この操作性の改善への答えのひとつが、この関数かと考えます。
※(私の)便宜上、関数と表記していますが関数ではありません。
関数コピペ ~コードをクリックするだけでコピー完了!~
使い方 ①ユーザーフォームを作成する
プロジェクトエクスプローラー上で右クリック⇒「挿入」⇒「ユーザーフォーム」を選択します。
使い方 ②ユーザーフォームのコードを表示する
赤枠内をダブルクリックしてコードを表示します。
リボンの「表示」⇒「コード」でも可
「F7」でも可
使い方 ③コードエリアへ関数をコピペ
コードエリアにはデフォルトで「UserForm_Click」プロシージャが表示されていると思いますが、無視or削除でOK。関数をコピペします。「Option Explicit」の指定は任意です。
【結果】ユーザーフォームに最小化/最大化ボタンが表示されます
最小化/最大化ボタンが表示されました。1点、通常のウインドウと異なる動作をする点があります。通常のウインドウだと最小化ボタンを押すとタスクバーからウインドウを呼び出せますが、ユーザーフォームはタスクバーに表示されません。代わりに、以下のように、画面の目立たない位置に小さく表示されます(Win11)の動作。
関数リファレンスにはコピペで使用可能な便利関数を多数掲載!
関数リファレンスでは私が開発の中で必要になったコード部品を汎用化・関数化して公開しています。この記事で紹介した関数以外にもコピペで利用できる関数を多数用意しています。検索窓から必要な機能を検索してみましょう!解説記事も続々公開中。
Comment