![見出し画像](https://assets.st-note.com/production/uploads/images/52940280/rectangle_large_type_2_4b66427fd17d630e5c80a37cdbb2a61a.png?width=800)
これであなたもプロ級!ポップアップメニュー作成術
前回は、メニューボタンを作って[ファイルを開く]処理を実行しました。
![画像1](https://assets.st-note.com/production/uploads/images/52203303/picture_pc_e642884b871268e9700bfb41b335a37c.png)
今回は、[メニュー]ボタンを押して[ポップアップメニュー]を表示する方法について説明します。
![画像2](https://assets.st-note.com/production/uploads/images/52203521/picture_pc_2f40b9323e6cf2a66560c9a8c3ba5bd5.png)
ユーザーが記述するマクロは、下記のように[タイトル:業務メニュー]と[メニュー名:業務経費報告書 , 売上管理表 , 在庫管理表]を記述するだけですむようにします。
Sub 業務メニューを開く()
n = f_メニュー("業務メニュー", "業務経費報告書,売上管理表,在庫管理表", "選択してください", 0)
End Sub
[メニュー]ボタンには、[業務メニューを開く]マクロを登録します。
マクロを登録する手順は、前回のnote記事(業務アプリは、マニュアル作り)を参考にしてください。
[業務メニューを開く]マクロの説明
1. [n =]について説明します。
一般的なマクロでは n = 1 と記述すると、変数 n に 1 を代入します。
ここでは n = f_メニュー(・・・) と記述していますので、変数 n に 関数 f_メニュー(・・・) の値を代入します。
関数 f_メニュー(・・・) は、指定した値[タイトル]と[メニュー名]と[メッセージ]を[ポップアップメニュー]に表示する関数です。
関数 f_メニュー(・・・) は関数を実行したけど、うまく実行できずにエラーになった場合は、0 の値を返します。
つまり、n = f_メニュー(・・・) と記述していますので、うまく実行できなかった場合は、変数 n の値は 0 になります。
関数 f_メニュー(・・・) が、正しく実行された場合は [選択されたメニュー番号]を返します。
つまり、1番目のメニューが選択された場合 n の値は 1 、 2番目のメニューが選択された場合 n の値は 2 になります。
関数を実行後の n の値を判定すれば、何番目のメニューが選択されたのかがわかります。
2. [f_メニュー("業務メニュー", "業務経費報告書,売上管理表,在庫管理表", "選択してください", 0)]について説明します。
下図のような[ポップアップメニュー]を作成するには、ユーザーフォームにリストボックスを挿入して作成します。
![画像3](https://assets.st-note.com/production/uploads/images/52245651/picture_pc_0e4c8106f81f8373a35f80096d7c5665.png)
関数 f_メニュー(・・・)は、[タイトル]と[メニュー名]を指定すると[ポップアップメニュー]が表示するように作成された関数です。
記述方法は下記のようになります。
【構文】 f_メニュー("<タイトル>","<メニュー1>,<メニュー2>,・・・","<メーッセージ>",メニュー初期値)
【戻り値】選択したメニュー番号。[中止]したときは 0 を返します。
関数 f_メニュー(・・・)を実行する場合に必要な変数は4つあります。
・タイトル 業務メニュー
・メニュー名 業務経費報告書、売上管理表、在庫管理表、・・・
・メッセージ 選択してください
・初期値 開いた時に、指定した番号のメニューを選択しておく
変数を指定するには、文字列は 記号(")で囲んでください。
数値は、そのまま指定します。
タイトル、メニュー名、メッセージは、文字列で指定します。
初期値は、数値で指定します。
下記のようになります。
f_メニュー("業務メニュー", "業務経費報告書,売上管理表,在庫管理表", "選択してください", 0)
初期値を 2 と指定すると、開いたときに 2番目のメニューが選択さています。
![画像4](https://assets.st-note.com/production/uploads/images/52247150/picture_pc_629b4c95a3d2f4285567036ffc3a17e4.png)
マクロを記述する場合に、関数 f_メニュー(・・・) のような多くの関数があると、少ないコード(ローコード)でマクロを書くことができます。
このような関数を[日本語ローコード]として公開していますので、興味のある方は利用してください。(日本語ローコード YUGE)
この note[Excel 業務アプリ大学]では、主に[日本語ローコード]を利用したマクロをご紹介いたします。
[日本語ローコード YUGE]をダウンロードする
[日本語ローコード YUGE]は、OneDrive の フォルダで公開しています。
ダウンロードするには、下の[One Drive]をクリックしてください。
![画像5](https://assets.st-note.com/production/uploads/images/52255526/picture_pc_1e94d4de7895d6a3821f56d0244a6c66.png)
[OneDrive]が開いたら、[日本語ローコードYUGE_Vxxx.xlsm]にチェックをつけます。
[ダウンロード]をクリックしてください。
![画像6](https://assets.st-note.com/production/uploads/images/52255601/picture_pc_84dc0a549aed55d18c10074b37073c12.png)
ダウンロードしたファイルを開いて、利用することができます。
![画像7](https://assets.st-note.com/production/uploads/images/52255652/picture_pc_6f636bd3fd9d859324e14476dbfcec47.png)
[開く]をクリックすると[日本語ローコード YUGE]が組み込まれた サンプルファイルを実行できます。
![画像8](https://assets.st-note.com/production/uploads/images/52255710/picture_pc_577de15929d2b3096762672d717836f7.png)
[日本語ローコード]を使う
ダウンロードした[日本語ローコード YUGE]を開きます。
![画像9](https://assets.st-note.com/production/uploads/images/52256967/picture_pc_0b3df985437f5316cac1cd1689456617.png)
[開発]タブの[Visual Basic]をクリックします。
標準モジュールの[ユーザーマクロ]を開きます。
標準モジュール[ユーザーマクロ]は、ユーザーが自由に編集できるマクロです。ここに、マクロを記述します。
![画像10](https://assets.st-note.com/production/uploads/images/52257625/picture_pc_980537a1009ddc8fff93f13cb25fb27f.png?width=800)
標準モジュール[日本語ローコードYUGE]は、色々なローコード関数が準備されていますので、自由に利用することができます。
f_確認
f_クエリー表示
f_クエリー編集
f_シート印刷
f_シートコピー
f_シート削除
f_シート判定
f_シート追加
f_シート表示
f_シートメニュー
f_条件セル入力
f_条件マスター参照
f_条件日付入力
f_条件年月入力
f_セルコピー
f_選択
f_ダイアログ
f_ファイルオープン
f_ファイル判定
f_ブックオープン判定
f_メニュー
では、[業務メニューを開く]マクロを作成します。
[Enter]キーを押して記入する空白行を広げます。
![画像11](https://assets.st-note.com/production/uploads/images/52258022/picture_pc_61c141dd87073d9905323357c0b907d4.png?width=800)
[Sub 業務メニューを開く]とタイプして[Enter]を押します。
![画像12](https://assets.st-note.com/production/uploads/images/52258157/picture_pc_1fd928490f816a255b657b2bf438bf06.png)
上のサンプルから[n = f_メニュー("業務メニュー", "業務経費報告書,売上管理表,在庫管理表", "選択してください", 0)]をコピペで貼り付けます。
![画像13](https://assets.st-note.com/production/uploads/images/52258498/picture_pc_85a193dd2cfa24bb438d91dc73d218ab.png?width=800)
カーソルを[業務メニューを開く]マクロの中に置いて[Sub/ユーザーフォーム]を実行します。
![画像14](https://assets.st-note.com/production/uploads/images/52258604/picture_pc_3422fa51e90978f66021ee23f5689f41.png)
下図のように[業務メニュー]が、開きます。
![画像15](https://assets.st-note.com/production/uploads/images/52258704/picture_pc_51f164a46c258760053f998b7dcff654.png)
[業務経費報告書]を開く
次回は、[ポップアップメニュー]を開いた後、[業務経費報告書]を選択して、[業務経費報告書.xlsx]ファイルを開くマクロを作ります。