【VBA】出入庫管理・在庫管理を実現するマクロ(Excel) | ゲヲログ2.0

【VBA】出入庫管理・在庫管理を実現するマクロ(Excel)



ここを参考にして組んでみました。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10191406920

☟組み込んだコード。

☟実装excel画面

ポイントはB3にこういうのを入れ込んでいるところですかねぇ?

=IF(B1=””,””,VLOOKUP(B1,A6:B20,2,FALSE))

B1が空欄ならば、空欄にして、B1が空欄ではないならばVLOOKUP関数の値を参照する。んで、VLOOKUPのところもやっぱわかりにくいんだけど、今更ながら復習。B1を検索値としてA6:B20テーブルにおいて2(B列)の列番号を元手に検索する。これがFALSEであることもポイントだと思う(近似値~TRUE~ではなく、完全一致~FALSE~を使用)。これらで示されるインプットテーブルを元に履歴テーブルを提示していく。ここを担当するのが、今回のマクロです。

なかなか難しかったですが、面白い実装。マクロのおもろいところは、ループは最低限度の使用に落ち着かせ、テーブル操作をフル活用してるところだと思います。特に今回は変数の宣言(序盤)に特徴がある。そこらから、基本在庫数を出したらば、ガッツリと変数で渡して、履歴テーブルにバンバン表示していくってのがおもろかったです。挙動みてたらこれ、完全一致じゃないとダメみたいですね。基本的にVLOOKUPはこの手のテーブル操作で、近似結果をプロットしてはいけないみたいです。

<糸冬> 

※追記

シートを新しいブックに名前つけて保存する方法解説ページを見つけたのでメモっておく…

https://oic-memo.com/vba/save-excelfile-name/

☝のはシートを別名で保存する方法・☟のはシート名ごとに一括保存する方法

https://qiita.com/YoshijiGates/items/79df74ce8af8234561d9

さらに、プルダウンリストはこうやって作るべきだそうな…

https://atmarkit.itmedia.co.jp/ait/articles/1505/22/news021.html