Excel VBAの設計は事前準備から 大規模システムでも使える「IPO」とは:脱初心者! 1歩先を行くExcel VBA開発者のススメ(2)(2/2 ページ)
簡単で短いコードのExcel VBAを開発するときは、頭の中で実現方法を整理できるかもしれません。しかし、何百行以上にもなるシステムになるとなかなかそうはいきません。そういうときに使える「IPO」という考え方を紹介する。
■システムが大きすぎる場合は小さなIPOに細分化する
もし、あなたが作りたいシステムが手に負えないくらい規模が大きすぎるのであれば、どのようにそのシステムの設計を進めれば良いでしょうか?
その場合、どんなシステムもIPOの「組み合わせ」で表現することができることに注目をします。
IPOが大きいのであれば、図3のように、下位のIPOに細分化できるのです。
こうすることで、一つ一つのIPOについて、何をどうするものなのかを明確にしやすいサイズにするわけです。そして、その小分けにしたIPOについても、インプットやアウトプットがExcelであれば、どんどんサンプルやテンプレートを作っていくのです。
そうすれば、その間のプロセスでやるべきことがおのずと決まるので、それを順次コード化していけば良いのです。
例えば、請求書を作成するシステムであれば、そのIPOは次のように表現することができます。
- INPUT:取引先、請求内容、入金日などのデータ
- PROCESS:請求金額の計算、請求書へのデータ転記などの処理
- OUTPUT:請求書
プロセスには、いくつかの処理が含まれていますよね。この処理はまた、下位のIPOで表現することができます。
その中から、品目単位の請求金額の計算を下位のIPOとして取り出すと、次のようになります。
- INPUT:個数、単価
- PROCESS:個数×単価
- OUTPUT:金額
ここまで小さな単位になれば、そのプロセスをコード化することは難しいことではありませんね。
このように、規模の大きなシステムであったとしても恐れることはないのです。
Check!
(1)システムのIPO を定義すること
(2)定義できないサイズのIPOがあれば、そのIPOを細分化すること
この繰り返しを行うことで、一つ一つは手に負えるサイズの小さなIPOとして取り扱うことができます。
書籍紹介
ExcelVBAを実務で使い倒す技術
高橋宣成著
秀和システム 1,800円
苦労してExcelVBAの基礎を学んだのに、期待したほど仕事が楽にならない。実務で使っているうちに、気がついたらVBAが重荷になってきている。あなたは、そんな悩みをお持ちではないでしょうか。本書は、ExcelVBAを実務で使うことを前提に、現場で求められる知識と知恵を解説します。バグを素早く解決する、運用中のマクロを都度メンテナンスする、コードを継ぎ足して機能を足すテクニックなど、現場で必要なノウハウがわかります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり - Excelデータの入力不備で計算エラーが発生して家に帰れない!――入力規則よりも簡単なチェックマクロとは
1つのExcelファイルを複数人で編集する場合、想定していたのとは違う形式でデータを入力されてしまい、不備が発生する可能性も少なくない。その問題をExcel VBAで解決するにはどうすればいいのだろうか。 - 一石二鳥で時間に余裕が!――面倒くさい見積書や請求書などの書類を自動作成するマクロとは
見積書や請求書、経費精算書などのさまざまな書類をExcelで作成している人は少なくありません。その書類を手で入力したりコピー&ペーストで作成したりしていては、人為的なミスが起こり、時間がかかってしまいます。今回はVBAで書類を作成する方法を紹介します。