検索
連載

Excel VBAの設計は事前準備から 大規模システムでも使える「IPO」とは脱初心者! 1歩先を行くExcel VBA開発者のススメ(2)(2/2 ページ)

簡単で短いコードのExcel VBAを開発するときは、頭の中で実現方法を整理できるかもしれません。しかし、何百行以上にもなるシステムになるとなかなかそうはいきません。そういうときに使える「IPO」という考え方を紹介する。

Share
Tweet
LINE
Hatena
前のページへ |       

■システムが大きすぎる場合は小さなIPOに細分化する

 もし、あなたが作りたいシステムが手に負えないくらい規模が大きすぎるのであれば、どのようにそのシステムの設計を進めれば良いでしょうか?

 その場合、どんなシステムもIPOの「組み合わせ」で表現することができることに注目をします。

 IPOが大きいのであれば、図3のように、下位のIPOに細分化できるのです。

図3 大きなシステムはIPO の細分化をする
図3 大きなシステムはIPO の細分化をする

 こうすることで、一つ一つのIPOについて、何をどうするものなのかを明確にしやすいサイズにするわけです。そして、その小分けにしたIPOについても、インプットやアウトプットがExcelであれば、どんどんサンプルやテンプレートを作っていくのです。

 そうすれば、その間のプロセスでやるべきことがおのずと決まるので、それを順次コード化していけば良いのです。

 例えば、請求書を作成するシステムであれば、そのIPOは次のように表現することができます。

  • INPUT:取引先、請求内容、入金日などのデータ
  • PROCESS:請求金額の計算、請求書へのデータ転記などの処理
  • OUTPUT:請求書

 プロセスには、いくつかの処理が含まれていますよね。この処理はまた、下位のIPOで表現することができます。

 その中から、品目単位の請求金額の計算を下位のIPOとして取り出すと、次のようになります。

  • INPUT:個数、単価
  • PROCESS:個数×単価
  • OUTPUT:金額

 ここまで小さな単位になれば、そのプロセスをコード化することは難しいことではありませんね。

 このように、規模の大きなシステムであったとしても恐れることはないのです。

Check!

(1)システムのIPO を定義すること

(2)定義できないサイズのIPOがあれば、そのIPOを細分化すること


 この繰り返しを行うことで、一つ一つは手に負えるサイズの小さなIPOとして取り扱うことができます。

書籍紹介

ExcelVBAを実務で使い倒す技術

ExcelVBAを実務で使い倒す技術

高橋宣成著
秀和システム 1,800円

苦労してExcelVBAの基礎を学んだのに、期待したほど仕事が楽にならない。実務で使っているうちに、気がついたらVBAが重荷になってきている。あなたは、そんな悩みをお持ちではないでしょうか。本書は、ExcelVBAを実務で使うことを前提に、現場で求められる知識と知恵を解説します。バグを素早く解決する、運用中のマクロを都度メンテナンスする、コードを継ぎ足して機能を足すテクニックなど、現場で必要なノウハウがわかります。


注文ページへ


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る