VBA開発環境設定と在庫管理プログラム作成 【VBA在庫管理#01】

Excel VBA 部品在庫管理アイキャッチ画像部品在庫管理

どうもoReです。

バーコードリーダーを使って、部品の在庫管理をExcel VBA(マクロ)で作っていこうと思います。

 

構想として

・バーコードリーダーを使用して、『ピッ』出庫→在庫数を-1する。

・バーコードリーダーを使用して、『ピッ』入庫→在庫数を+1する。

はい、ものすごく単純なものです。

 

それでは部品在庫管理プログラムを作っていきます。

ちなみに、現在こんな感じ↓

Mainに部品編集表示ボタン挿入

現在進行形で作りこみ中!!

データベース作成

・項目として、部品管理№』『バーコード』『メーカー』『品名』『型式』『在庫数』

注)項目バーコードの所は、実際にバーコードを読み込んで入力します。

・各項目を適当に入力して、シートの名前を『データベース』に変更します。

Excel画像001

 

 

        oReびっくり
えっ? バーコードリーダーを持っていない!?
だ・と・・・

安心してください、普通持ってません(笑)

 

・とりあえず、バーコードデータとして『ore1』『ore2』『ore3』と入力しましょう。

Excel画像002

 

データベースが出来たので、いよいよオレグラミングの時間です。

注)プロのグラマーな方は、生暖かい目で見守っていただけると幸いです(笑)

 

開発環境設定

赤枠のタブ上で右クリリボンのユーザー設定をクリック

Excel画像003

 

開発タブにチェックを入れてOK

Excel画像004

 

・開発タブが表示されるので、開発タブ内のVisual Basicをクリック

Excel画像005

無事にVisual Basic Editorが起動しましたか?
これであなたも、オレグラマーの仲間入りです。
おめでとうございます!!

 

初めてのプログラミング

では、プログラミングしていきましょう。

・赤枠のExcelマークをクリックすると、Excel画面に戻ります。

Excel画像006

 

デザインモード挿入コマンドボタンをクリック

Excel画像007

 

・図形を挿入するように、ドラッグしてコマンドボタンを挿入します。

・挿入したコマンドボタンをダブルクリックします。

Excel画像008

 

・こんな画面出てきました?
注)背景色・文字色が違うのは、気にしないでください。

Excel画像009

 

プライベート サブ コマンドボタン1_クリック()

エンド サブ

 

なんとなくわかります?

Private Sub CommandButton1_Click()
  
この間にプログラムを書きます。
  
End Sub

コマンドボタン1をクリックするとプログラムが動く…みたいな感じでOK。

 

試しに下記のように入力してみてください。

Private Sub CommandButton1_Click()
  Range("A1") = "こまけぇこたぁいいだよ!!"
End Sub

 

・Excelの画面に戻り、デザインモードが解除されている事を確認して、
コマンドボタン1をクリックしてみましょう。

Excel画像010

セルA1に『こまけぇこたぁいいだよ!!』と入力されましたか?

oReのぞき見

在庫管理入出庫プログラミング

それでは、在庫管理入出庫のプログラムを書いていきます。

・コマンドボタンをもう一つ挿入します。

コマンドボタン1を出庫とし、コマンドボタン2を入庫とします。

Excel画像011

 

・下記のように入力してください。

Private Sub CommandButton1_Click()
  If Range("A1") = "ore1" Then
    Range("G6") = Range("G6") - 1
  ElseIf Range("A1") = "ore2" Then
    Range("G7") = Range("G7") - 1
  ElseIf Range("A1") = "ore3" Then
    Range("G8") = Range("G8") - 1
  Else
    MsgBox "部品登録されていません。"
  End If
End Sub
Private Sub CommandButton2_Click()
  If Range("A1") = "ore1" Then
    Range("G6") = Range("G6") + 1
  ElseIf Range("A1") = "ore2" Then
    Range("G7") = Range("G7") + 1
  ElseIf Range("A1") = "ore3" Then
    Range("G8") = Range("G8") + 1
  Else
    MsgBox "部品登録されていません。"
  End If
End Sub

 

入力したら、Excel画面に戻ります。

 

セルA1にバーコードデータである『ore1』を入力して、コマンドボタン1を押すと
アサヒスーパードライの在庫数が-1(出庫)しますか?

 

セルA1にバーコードデータである『ore1』を入力して、コマンドボタン2を押すと
アサヒスーパードライの在庫数が+1(入庫)しますか?

 

 

Excel画像012

同様に、セルA1に『ore2』『ore3』も入力して確認してみてください。

ちなみに、セルA1に何も入力しない
もしくは、ore1,2,3以外のデータを入力しコマンドボタンを押すと、
『部品登録されていません。』とメッセージが出てきますか?

 

・なんかエラーが出た場合、デバッグをクリックしてください。

Excel画像013

 

ここ、ちょっとおかしくね!?と教えてくれます。
修正したら、リセットボタンをクリックしましょう。

Excel画像014

 

保存方法

最後に、ブックの保存をしましょう。

・ファイルの種類を『Excel マクロ有効ブック』に変更し保存してください。

Excel画像015

 

まとめ

どうでしたか? 楽しくなかった!?
まあ、少しでもVBAに興味をもってもらえれば幸いです。

バーコードリーダー画像

次回 在庫管理入出庫プログラムの説明などなど

ExcelVBA部品在庫管理【目次】へ戻る

コメント

タイトルとURLをコピーしました