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

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



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

エクセルで在庫管理表を作ろうとしているのですが、マクロか関数を使って処理させるにはどうしたらいいか、知恵を授けて下さい。... - Yahoo!知恵袋
エクセルで在庫管理表を作ろうとしているのですが、マクロか関数を使って処理させるにはどうしたらいいか、知恵を授けて下さい。 やりたい事の流れは①C2セルにB列に有るで品名を入力すると、該当行の数量(C列)がC4セルに表示される②C3セルに数量を打ち込み、「出庫」ボタンを押すと①で表示された数字からC3セルの数値が引かれC列の数値が変更される③C3セルに数量を打ち込み、「入庫」ボタンを押すと①で表示さ...

☟組み込んだコード。

☟実装excel画面

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

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

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

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

<糸冬> 

※追記

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

【マクロ・VBA】名前をつけてエクセルファイルに保存
EXCEL VBA(マクロ)の名前をつけてエクセルファイルに保存する方法をご紹介。シートの追加はAdd メソッドを使用。構文とともに実例を取り上げてご説明しています。

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

Excel VBAでシート単位に別ファイルにしたい - Qiita
1. はじめにExcelのブックにあるシート単位にファイルを分割したいExcel VBAで一括でファイル名をシート名で自動保存したい2. 開発環境Excel3. Excelマクロの作成3…

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

Excelでプルダウンリスト(ドロップダウンリスト)を作成する方法
部署名や都道府県など、Excelで入力するデータが決まっているような場合、プルダウンリストを作成しておくと入力効率を大幅にアップできる。半角文字と全角文字が混じるような入力ミスも防げる。そこで本稿では、プルダウンリストを作成する方法を紹介する。