マスタ管理用のExcelの作り方

VBAプログラミング

そもそもマスタって何?

マスタというのは英語で言うMaster(マスター)で、主人という意味です。主人になる、つまりシステムの基本となるデータで、一般的には日々大量に更新されるものではありません。マスターデータは例えば、顧客データ、商品データ、社員データなどの情報になります。

システムの基本となるデータなので、ここに間違いや不足があるとシステムに大きな影響が出てしまうため、大変重要なデータです。

マスタ管理の注意点

こちらの投稿に詳細を記載していますが、データの重複や、間違った情報が入らないようにする必要があります。Excelをそのまま使っただけでは、この管理が非常に難しく、間違いが発生しやすい状態です。

ただ、そのためにわざわざソフトを購入するほどでも無いような場合に、Excel VBAで様々な機能を付けて、マスタ管理を正確に効率的に行えるようにしちゃいましょう!

Excelでのマスタ管理の注意点
Excelに顧客情報や商品情報とかを入力してマスタ管理することは日常的にあると思います。 そういった用途としてExcelはとても便利ですが、実は色々な落とし穴があります。 まず始めに皆さんご存知のようにExcelは表計...

マスタ管理のためにVBAで追加する機能

VBAを使ってマスタ管理するためには様々な制限をつける必要があります。

管理するマスタデータの内容によって様々ですが、一般的なところでは下記のような内容になるかと思います。

  • 列・行の追加、削除を出来ないようにする
  • シート名の変更を出来ないようにする
  • マスタデータに関係の無いセルは編集出来ないようにする(1行目の項目名も編集不可にする)
  • 入力するデータにあわせた制限(例えば空白はNG、郵便番号は必ずXXX-XXXX (Xは数値)で入力するなど)
  • 重複した情報を入力できないようにする
  • 全角/半角が必ずどちらかになるようにする(例えば半角カタカナで入力された場合、自動で全角カタカナにする)
  • 大文字/小文字が 必ずどちらかになるようにする
  • 文字数制限を設ける(例えば顧客名は最大30文字にするなど)
  • 郵便番号と住所の内容が一致しているかチェックする
  • データの途中に空白行を入れさせない

かなりたくさんの制限を設けているように思うかもしれませんが、このくらいガッチリと制限を掛けないと本当のマスタ管理とは言えません。

ただ、これらの内容は全てExcel VBAで実現可能です。

例えば列・行の追加、削除の禁止は下記の記事をご参考下さい。

[Excel VBA] 列・行の挿入・追加を出来なくする
Sheetモジュールに下記のコードを貼り付ければ行、列ともに削除・追加できなくなります。Option Explicit'セル変更時の処理Private Sub Worksheet_Change(ByVal Target As...

制限をつける方法ですが、入力した時点でチェックすることも出来ますし、保存しようとしたときにチェックをすることも出来ますが、それは内容に応じて使い分けるといいと思います。個人的には保存時チェックでよいかと思います。

Excel保存時に内容をチェックする方法をこちらに載せていますので、ぜひ参考にしてみて下さい!

[Excel VBA] ファイル 保存時に内容チェック
今まで教えてきたプログラムは、Visual studioを開いて実行するか、ボタンを押して実行だったけど、今回はExcelファイルを保存した時に自動的に実行される方法を教えるよ。 これが出来れば、例えば保存する時に、データの重複...

まとめ

マスタデータは企業にとってもシステムにとっても非常に重要な情報です。そのデータは正確に管理するためにもExcel VBAを使用してミスが発生しないような制限を付けることをおススメします。

もしサンプル等ご希望の場合は、下記へご連絡下さい!

ご質問・ご相談はこちらから

コメント

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