EXCEL VBAで作るシステムの外観

EXCELでどこまで実用的なシステムが実現できるのでしょうか。
手元にあるデータをシステム化するにはどのようにすればよいでしょうか。

システムをイメージする

システムの役割を決める

 ・大量のデータを記録する
 ・大量のデータから必要なデータを抽出する
 ・集計して分析する
 ・繰り返し入力の簡略化

入力、保存するデータと出力データの活用方法を想定する

 ・記録として必要なデータ項目
 ・分析するために必要なデータ項目
 ・出力されたデータは何に使用されるのか

入力する人と出力データの活用する人や場面を想定する

 ・使用する人にとって使いやすいシステムになっているか
 ・入力ミスの起こりにくいシステムになっているか
 ・出力したデータは使用する人にとって魅力的なものか
初めての人は自分のためだけのデータベースから作成しましょう。

作成のステップ

具体的にはVBAのコードを記述する前に実績テーブルの作成、入力フォームの作成をしていきます。

 1. 実績テーブルの作成
 2. 入力フォームの作成
 3. 入力フォームからデータ登録
 4. 入力フォームに登録したデータを呼び出す
 5. 呼び出したデータを修正、削除する
 6. 呼び出したデータを出力する
 7. 実績テーブルにあるデーターを抽出、集計する

実績テーブルの作成

実績テーブルとはデータを記録するところです。共通するデータ項目を設定して、一定のルールに沿ってデータを蓄積していきます。

 ・決定したデータ項目を一行目に配置ます
 ・実績テーブルの保存場所を決定します
 ・繰り返し使用される項目はマスタテーブルに分ける(正規化)
 ・キーとなる重複しない項目を決定します(主キーの作成)
   下表ではA列(ID)を主キーとしています。
 ・項目ごとにデータの型を確定します。

実績テーブルの保存場所

実績テーブルの保存場所には選択肢があります。違いについて概要を説明します。

 1. 同じワークブックの別ワークシートに保存
    ・管理が簡単
    ・他の人と同時使用不可(共有設定されていれば読み取りだけ可能)
 2, 別なワークブックに保存
    ・複数の端末からアクセスが可能となります。
    ・書き込みなどは排他制御(他の端末が書き込みできない)されます。

本記事では同じEXCELワークブックの別ワークシートに保存(1.)を選択します。
先々実績テーブルだけACCESSやSQL-Serverなどデータベースを利用することも出来ます。
データサイズや利用人数によって適時の移行が可能です。

実績テーブルの分割

実績テーブルを保存管理する方法にも選択肢があります。
 1. 一つの実績テーブルにデータを蓄積しつづける方法
 2. 年単位、期単位でデータを別ファイルにする方法
1. では、年、期にまたがる推移も一括してみることができます。
2. では、ファイルの呼び出し書き込みなど、操作が軽い状態を維持できます。
一つの実績テーブルにデータを蓄積しつづけて、ファイル操作が重いと感じたときに区分けを検討すればよいと思います。
ただし、作成したファイルの喪失防止の意味で、こまめな別ファイル名での保存を推奨します。

入力フォームの作成

データ項目ごとにフォームの配置を決定し入力しやすいフォームを目指します。
登録、クリア、削除などの機能ボタンを配置していきます。
EXCELワークシートに直接フォームを作成します。
VBEでもFORMは作成できますが、柔軟性のあるシステムを作成する本記事の主旨からワークシートで作成していきます。

入力フォームからデータ登録

フォームが完成したら早速データを登録(入力フォームから実績テーブルにデータを書き込む)してみる。
VBEの画面へ移動してプログラムコードを作成していきます。
データ登録(追加)方法を習得します。

入力フォームに登録したデータを呼び出す

先に登録したデータをフォームに呼び出して修正や削除を行えるようにします。
VBEの画面では登録と逆(実績テーブルから入力フォームにデータを呼び出す)のプログラムコードを作成していきます。

呼び出したデータを修正、削除する

呼び出ししたデータをフォームで修正を加え再登録します。
あるいは、削除します。
データ上書き、削除方法を習得します。

選択したデータを出力する

出力するデータを選択して帳票(注文書など)を作成します。
帳票にデータを配置します。

実績テーブルにあるデーターを抽出、集計

条件入力項目を設けて条件にあったデータを抽出と集計をしてきます。
集計したデータをグラフ表示します。

少しボリュームを感じられるかもしれませんが基本となる考え方は共通しています、繰り返し行っていくことで自然と身につくと思います。
登録⇒呼び出し⇒修正・削除⇒帳票出力⇒集計・分析
が身につけば他のシステムでも広く応用できます。また、将来他の言語へシフトした場合にも役に立ちます。
今回、仕入管理を題材としてすすめていきますが、ぜひご自分の構想したデータに置き換えて活用してみてください。
基礎段階はゆっくりすすめていきますので一緒に頑張りましょう。

実績テーブルの作成から

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