エクセルの在庫管理では、シートを行き来してのコピー&ペースト作業や、定期的な入出庫数の入力など、単純な繰り返し作業に多くの工数がかかることがあります。そこで注目したいのが、エクセルの「マクロ」です。


【初心者向け】Excelでの表作成や関数が学べる基礎ガイド
基本的な操作方法から、表やグラフ、利用頻度の高い関数の活用方法を初心者でもわかりやすいよう解説。
- シートの操作方法
- 関数の使い方
- ピボットテーブルの活用方法
- 実践用Excelテンプレート
今すぐダウンロードする
全てのフィールドが必須です。

マクロを活用すると、データ入力や集計、レポート作成などの繰り返し行う作業を自動化できます。その結果、ヒューマンエラーの防止や作業効率の改善につなげることが可能です。
本記事では、エクセルの在庫管理にマクロを導入する方法と、作成時のポイントを詳しく解説します。マクロを使いこなして、在庫管理の効率を高めましょう。
エクセルでの在庫管理にマクロが役立つ理由
エクセルのマクロとは、複数の操作をまとめて自動で実行する機能のことです。エクセルのマクロを記述するためのプログラミング言語を、VBA(Visual Basic for Applications)といいます。
在庫管理にマクロを活用することで、データ入力や集計、レポート作成などの繰り返し行う作業が自動化され、作業時間の短縮やヒューマンエラーの削減が可能になります。例えば、在庫データの更新作業や在庫レポートの作成など、定型業務をボタン1つで実行可能です。
自社の在庫管理にマクロを取り入れ、業務プロセスを最適化しましょう。
エクセルで在庫管理をするためのマクロの作り方
エクセルで在庫管理をするためのマクロの作り方には、主に次の2つの方法があります。
- マクロの記録
- VBAコードの記述
簡単な操作の自動化には「マクロの記録」機能が適しており、プログラミングの知識がなくても作成可能です。より複雑な処理を実現したい場合は、「VBAコードの記述」を使用します。それぞれの特徴と手順について詳しく解説します。作成前に行う設定は、どちらの方法でも同じです。
作成前|設定を変更して開発タブを表示する
マクロを作成するには、エクセルの「開発」タブを表示させておくと便利です。デフォルトでは表示されていないため、次の手順(Windows版エクセルの場合)で表示設定をします。
- エクセルを開き、[ファイル]タブをクリック
- [オプション]を選択し、[リボンのユーザー設定]をクリック
- 右側のリストで[開発]にチェックを入れ、[OK]をクリック
これで、リボンに「開発」タブが表示されます。この操作は初回のみ必要で、一度設定しておくと次回以降は自動的に表示されるため、再設定の必要はありません。
作り方①マクロの記録を利用する
マクロはプログラミング言語のVBAで構成されていますが、「マクロの記録」機能を使用すると、エクセルが自動で操作内容をVBA化してくれます。
自動化したい操作を実際に行うだけで記録されるため、プログラミングの知識がなくても操作可能なのが大きなメリットです。
具体的には、次の手順で自動化したい操作を実際に行いながら記録します。
- [開発]タブの[マクロの記録]をクリック
- マクロ名を入力し、[OK]をクリックして記録を開始
- データ入力や集計、グラフ作成など、自動化したい操作を通常通り行う
「マクロの記録」機能では、エクセル上で行ったすべての操作が記録されるため、余計な操作をしないよう注意しましょう。 - 操作が完了したら、[開発]タブの[記録終了]をクリック
この操作で、行った作業がマクロとして記録されます。例えば、特定のセルを「コピー→ ペースト → フォントの変更」といった複数の工程を踏む操作も、順番に実行することで1つのマクロとして記録できます。
作り方②VBA(Visual Basic for Applications)のコードを記述する
VBAを使用してコードを直接記述する方法は、より複雑な処理や柔軟な自動化を実現したい場合に適しています。
プログラミングの知識が必要になりますが、条件分岐や繰り返し処理、警告メッセージの表示など、高度なカスタマイズが可能です。
基本的なコードの作成方法は、次の通りです。
1.開発タブからVBE(Visual Basic Editor)を開く
VBAコードを記述するには、まずVBE(Visual Basic Editor)を開く必要があります。
- エクセルの[開発]タブをクリック
- [Visual Basic]ボタンをクリックしてVBEを起動
VBEは、VBAコードを編集するための専用エディタです。ここでコードの記述や編集を行います。慣れないうちは画面が複雑に見えるかもしれませんが、基本的な操作は比較的シンプルです。まずは、簡単なコードから始めてみることをおすすめします。
2. プロジェクトエクスプローラーから標準モジュールを挿入する
VBEでコードを記述するには、まず標準モジュールを挿入する必要があります。モジュールとは、VBAコードを記述・管理するための場所と考えてください。次の手順で行います。
- VBEの左側にある[プロジェクトエクスプローラー]を表示
表示されていない場合は、メニューバーの[表示]から[プロジェクトエクスプローラー]を選択します。 - 現在のブック名を右クリックし、[挿入](または上部のメニューバーにある[挿入]をクリック)→[標準モジュール]を選択
この操作により、新しい標準モジュールが作成され、そこにVBAコードを記述できるようになります。モジュールは複数作成でき、機能ごとに分けて管理できます。
3.コードを入力する
標準モジュールが挿入されたら、実際にVBAコードを入力します。VBAの基本的な文法を理解していれば、比較的簡単にコードを記述できます。
次に示したのは、簡単な在庫管理用のコード例です。このコードは、商品リストに対して在庫数を自動計算するものです。A列の商品リストに対して、B列の入庫数からC列の出庫数を引いて、D列に現在の在庫数を計算します。
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 4).Value = Cells(i, 2).Value - Cells(i, 3).Value
Next i
MsgBox "在庫更新が完了しました。"
End Sub
このコードを実行すると、すべての商品の在庫数が一度に更新され、処理完了時にメッセージボックスが表示されます。
実際の使用時は、自社の在庫管理方法に合わせてカスタマイズすると良いでしょう。
作成後|マクロを実行・保存する
マクロを作成したら、正しく動作することを確認して保存します。作成したマクロの実行・保存方法は、「マクロの記憶」または「VBAのコードを記述」のどちらの方法でも同様です。
マクロを実行する
作成したマクロを動かす方法には、次の3パターンがあります。
使用頻度や操作の簡便性を考慮して、最適な実行方法を選択すると良いでしょう。ボタンの作成は、マクロの知識がない人でも簡単にマクロを実行できるようになるため、作成者以外もマクロを使用する場合におすすめです。
- [開発]タブの[マクロ]をクリックし、実行したいマクロを選択して[実行]をクリック
- ショートカットキーを設定して実行
頻繁に使用するマクロには、ショートカットキーを割り当てると便利です。[開発]タブの[マクロ]から実行したいマクロを選択し、[オプション]をクリックすると設定画面が表示されます。 - ボタンやシェイプを作成し、そこにマクロを割り当てて実行
マクロを含むファイルを保存する
マクロを含むファイルは、通常のエクセルファイル(.xlsx)ではなく、マクロ有効ブック(.xlsm)として保存する必要があります。これにより、次回ファイルを開いたときにもマクロを使用できます。通常のエクセルファイル形式では、マクロが削除されてしまうため注意が必要です。
記録したマクロの保存は、次の手順で行います。
- [ファイル]タブから[名前を付けて保存]を選択
- ファイルの種類を「Excelマクロ有効ブック(*.xlsm)」に変更
- ファイル名を入力し、[保存]をクリック
マクロをエクセルの在庫管理に導入する際のポイント
エクセルの在庫管理にマクロを導入する際は、次のポイントを意識しましょう。
- ある程度VBAやプログラム言語の知識を付けてから導入する
- マクロでできること・できないことを把握する
- ファイルの管理方法を決めておく
ある程度VBAやプログラム言語の知識を付けてから導入する
「マクロの記録」だけでもマクロの作成はできますが、自動化できる作業が限られます。この機能を使うと、記録中の動作がそのまま記録されてしまい、状況に応じた操作の変更が一切できないためです。
例えば「リスト末尾の空いているセルに50と入力する」というような、人間にとっては簡単な作業でも、マクロの記録では特定のセル位置が指定されたうえで記述されてしまうため、「A20のセルに50と入力する」となります。その結果、リストの末尾のセルが変わると正しく動作しなくなってしまいます。
より柔軟で実用的なマクロを作成するためには、条件分岐、ループ処理などを実現するVBAの基本知識が必要です。
VBAがある程度読めれば、マクロの記録で記述されたコードを調整して実用化するといった使い方も可能です。少しずつ知識を増やしながら、徐々に高度な自動化にチャレンジしていくと良いでしょう。
マクロでできること・できないことを把握する
マクロは多くの作業を自動化できますが、すべての作業を完全に自動化することはできません。マクロでできること・できないことの例は次の通りです。
【できること】
- データの入力、更新、削除
- 複数シートやブック間でのデータ転記
- 条件に基づいた計算や集計
- グラフや表の自動作成
- 定型フォーマットのレポート作成
【できないこと】
- 外部データベースとの直接連携(別途設定が必要)
- 複雑な意思決定プロセス
- 画像認識や自然言語処理
マクロは、エクセルで在庫を管理しており、かつ単純な繰り返し作業があるケースで効果的です。すべてをマクロで解決しようとするのではなく、マクロが最も効果を発揮する業務を見極めましょう。
業務が複雑で大規模になる場合は、専用システムの導入も検討すると良いでしょう。
ファイルの管理方法を決めておく
複数人でマクロを共有する際は、ファイルの管理方法を決めておきましょう。誤ってファイルが編集されてしまうなどの理由で、マクロが正常に動作しなくなる可能性があるためです。
コードを編集できないよう管理者を設定するほか、VBEにパスワードを設定する機能もあります。
また、ファイル名やシート名、セルの場所が変わっただけでもエラーが発生します。属人化とエラーの発生を防ぐには、使い方や注意点などをマニュアルにして共有しておくことが有効です。
エクセルでの在庫管理にマクロを取り入れて業務を自動化しよう
エクセルの在庫管理にマクロを取り入れることで、作業の効率化とミスの削減が期待できます。単純な作業であれば、VBAの知識がなくても「マクロの記録」機能でマクロが作れるため、一度試してみてはいかがでしょうか。
なお、実現したい作業によっては、マクロではなく関数で効率化できることもあるため、状況に応じて最適な方法を選択することが重要です。
エクセルのマクロを活用して、在庫管理を効率的に行いましょう。