ous">

小さな在庫管理

在庫管理導入からシステム作成まで詳細解説!

商品マスタ画面の入力支援作成 [VBA在庫管理システムVer01#09]

前回、商品マスタデータの登録・修正・削除の実行ボタン部分を作成しました。

この記事では、商品マスタ画面の入力支援を作成し、完成させます。


VBA在庫管理システムVer01

商品マスタの入力支援作成

ユーザーフォームの入力支援機能は様々ありますが、最低限、タブ移動と入力モードの設定はしておきましょう。
 

タブ移動の設定

入力支援機能として、タブ移動の順序を設定していきます。
VBEで[表示]-[タブオーダー]をクリックすると、タブオーダー画面が表示されます。リストの上から順に、タブ移動が設定されます。ラベルはタブが止まらないので、無視します。


フォーム frmItemMasterを選択し、タブオーダー画面を表示し、画面全体のタブ移動を設定します。

フレーム fraItemSelect を選択し、タブオーダー画面を表示し、フレーム内のタブ移動を設定します。

フレーム fraDetailInfo を選択し、タブオーダー画面を表示し、フレーム内のタブ移動を設定します。

フレーム fraItemInput を選択し、タブオーダー画面を表示し、フレーム内のタブ移動を設定します。

商品IDテキストボックスは入力はないので、タブが止まらないように、プロパティウィンドウで詳細設定します。また、入力も規制しておきます。

タブストップの設定
 

入力モードの設定

入力時に、日本語を入力したいのに入力モードが半角英数だったりすると、入力モードを変更する手間が発生します。
VBAでは、初期値が0-fmIMEModeNoControl(前の入力モードのまま)となっています。

そこで、日本語入力の時は4-fmIMEModeHiragana(全角ひらがなモード)、英数字入力の時は8-fmIMEModeAlpha (半角英数字モード)にプロパティウィンドウで詳細設定します。

日本語入力
IMEMode

英数字入力
IMEMode
 

商品マスタの課題等

ここまで、商品マスタ画面を作成してきましたが、運用時に課題となりそうな項目を記しておきます。
※この解説記事で作成した画面には、対策を加えていません。
 
1.名称修正の入力が難解

ラベルクリックでテキストボックスが表示されるのは、作成者にしかわかりませんね。
修正ボタンクリックで表示されますが、手戻りも発生します。

対策方法の1つを紹介します。
名称修正したい場合にラベルをクリックさせるように、表記します。
さらに、修正テキストボックスが表示されているときは、この表示は非表示にする動作を入れておくのもいいでしょう。

他にも対策方法はあるとおもいますので、検討して見てください。画面設計自体も、要検討です。
 
2.実行ボタンクリック時、データブックが2回開かれる

解説用にコードを短くしたので、動作が重複し速度低下につながっています。
実行ボタンの動作確認を [F8] を押しながら1行ずつ実行(ステップイン実行)すると、商品マスタ情報の再取得のところでブックが再度開かれます。

このシステムでは、UserForm_Initializeの実行をやめて、ブックが開かれている段階で、商品マスタ情報の再取得コードを入れるといいでしょう。

 

これで、商品マスタ画面が完成しました。
次回から、商品入庫画面を作成していきます。
www.minizaiko.com