[VBA在庫管理システムVer01#33]VBA前回、棚卸作業の前半部分を解説しました。この記事では、棚卸作業の後半部分を解説します。システム棚卸の実行メニュー画面の棚卸実行ボタン選択画面の"はい"ボタン選択画面の"いいえ"ボタン実行画面の閉じるボタンVBA在庫管理システムVer01棚卸の流れシステムの棚卸は、下記の作業フローで進めます。棚卸集計表シートへの入力4.棚卸実行システム棚卸の実行フローに沿って、システムの追加機能などを解説していきます。この記事では4の、棚卸実行について解説します。出力ボタンの作成ここまで、メニュー画面は初期状態のままでボタンが並んでいるだけでしたが、フレームを利用し画面を整えます。画像を参考にして、メニュー画面を修正してみて下さい。※プロパティ設定後のユーザーフォームメニュー画面に棚卸実行ボタンを追加します。システム管理のフレームを作成して、棚卸実行のコマンドボタンを追加し、プロパティウィンドウで詳細設定します。標準モジュールを追加し、オブジェクト名を棚卸実行とします。棚卸を実行するプロシージャはユーザーフォームの動作とは異なりますので、標準モジュールに作成していきます。商品マスタデータの取り込み用変数の設定をしていきます。棚卸実行を選択し、宣言セクションに列挙型変数をPrivateで宣言します。棚卸実行では、商品マスタシートの全ての列を列挙型変数で宣言します。棚卸実行に作成します。"ファイルが見つかりません。@2.棚卸日の取得インプットボックスの機能を利用し、ユーザーに棚卸日を入力して貰います。@3.入力値の判定インプットボックスのキャンセルが押された場合は、プロシージャーを抜けます。A.データの取得:棚卸集計表シートからデータを配列変数に取得します。@5.ファイルの存在確認Dir関数を使用し、ファイルが存在するか判定します。ファイルがない場合はプロシージャーを抜け、ファイルが有ればファイルを開きます。集計シートの最終行を取得し、配列変数の要素数を確定させたあと、For〜Next構文でデータを取り込みます。@7.ブックの立ち下げシートを操作してますので、初期化するため、ブックは保存せずに閉じます。B.データの書込:配列変数に格納した棚卸集計表データを、商品マスタシートに書き込みます。@8.作業ブックを開くデータブックを開き、商品マスタシートを変数に格納します。このとき、最終行も取得します。@9.棚卸集計データの書込み商品マスタシートをループして、1レコードづつ書き込んでいきます。商品マスタシートの商品IDと配列変数の商品IDが合致したら、棚卸日と棚卸数を書き込んでいきます。@10.ブックの立ち下げシートにデータを書き込みましたので、ブックは保存して閉じます。@11.終了フラグ棚卸実行完了画面を表示して、処理は終了です。frmItemStockSelectをコピーして、新たにfrmItemInventorySelectを作成します。frmItemInventoryReportをコピーして、新たにfrmItemInventoryUpdateを作成します。画面遷移を作成します。システム全体の更新となるので、2段階の選択にして、後戻りできるようにします。Sub@1.システム棚卸の実行サブルーチンを実行します。