フローチャートは書くべきか? − GoGoマクロ!のWebサイト

HOME > マクロの作り方・応用 > 勉強法

フローチャートは書くべきか?


「フローチャートは書くべきですか?」

これまで何度か、この手の質問を受けたことがありますが、 こう質問してくれる人はまず間違いなく、以前から「プログラミング心」 のある人ですね。

そもそも「フローチャートって何?」と思った人も居るかと思いますので、 簡単に解説しておきますが、

プログラムのフローチャートとは、コンピュータ上の処理の流れを表現した 図です。処理の流れを矢印や、順次、分岐、繰り返し等の記号で表現します。

簡単には、これを「業務フロー図」と言い換えてみれば社会人の皆さんであ れば誰でも一度は書いたことのある物(!?)かと思いますので、理解はしやす いかと思います。

特に、エクセルの業務を自動化するために作るマクロのVBAプログラムに関して 言えば、フローチャートは業務フロー図そのものだと考えても差し支えない だろうと思いますので(なので、今回のこの話も特に難しく考える必要は全 くありません。)、特に単純に

 「マクロ(VBA)のフローチャート」=「Excel業務のフロー図」

こう考えておけばよいでしょう。


で、プログラムのフローチャートは一般的にはJIS(日本工業規格)の流れ図 記号というものを使って描いていきますが、この図は、エクセル上でも [挿入タブ]→[図形]→[フローチャート]の中にある図形を使って描くこと ができます。(でもそれ、ちょっと面倒なので紙に手書きの方が速い気が します(笑)。)


一般的なプログラミングでフローチャートを書く目的は、以下の2つです。

 ・自分の頭の中を整理する為。
 ・それを他人に伝える、もしくは記録に書き残す為。

なので、フローチャートとは、詰まる所、

「自分の頭の中身を人に伝える為の道具である。」

という物になります。

この場合の「人に・・」と言うのは「自分自身に・・」も含まれますので、 そう理解してください。

既に十二分に分かってるという方も多いと思いますが、ちょっと複雑な プログラムを組もうとした場合に、自分の頭の中が中々自分自身にも 伝わってこない、ごちゃごちゃしてまとまらない、という場合は多いわけ ですね。(笑)

なので、フローチャートはそんなごちゃごちゃになった頭の中を整理する 為に書くという目的で書いてください。その逆を言えば、頭の中がごちゃ ごちゃになっていない場合は特に書く必要の無いものだ、ということにも なります。

私のようなプロのプログラマ職は別として、素人の皆さんは特にフロー チャートを書く義務は負っていないかと思いますので、

「フローチャートは書くべきか?」
その答えは、正しくケースバイケースです。

特にエクセル作業の効率化の為に作るマクロに限って言えば、 自分の頭の中がごっちゃにならない程度の簡単で短いVBAプログラム を作る際に、いちいちフローチャートまで書く必要性はありませんし、

長く複雑なプログラムを書く際に、フローチャートや、もしくはそれに 準ずるようなものを何も書かずに作れるという人はまず居ませんね。 (居るかも知れませんが、書いた方がより確実に、早く完成させる事が できるいうのは確かだと思います。)

例えて言えば、日曜大工でちょっとした犬小屋を作るという際に、 いちいち設計図を描いてから作り出すという人はまず居ないと思います が、人間が住む為の立派な家を、設計図も何も描かずにいきなり建てる 人はどんなプロの大工であってもそうそうには居ませんよね。

だから、フローチャートを書くべきか否かは、これから作ろうとする プログラムが豪邸なのか?犬小屋程度の物なのか? 豪邸だと思ったら迷わず書く、犬小屋だったら時間の無駄ですから いきなりのこぎりやとんかちを持って、買ってきた板を早速、 ギコギコ、トントン、やり始めて構わないわけです。

要は、その判断は自分の大工としての経験や腕前と、建てる家の規模と で勘案して決める、もし、豪邸か?プレハブか?犬小屋なのか? それすら自分では判断がつかないという場合であれば、その場合の判断 基準というのは一度自分で何かのプログラムを作った際の規模や難易度 を考えてみればよいです。

プログラミングの場合、全てにおいて「過去に自分が作ったもの」が 全ての基準になります。それは、アマチュアでもプロのプログラマで あっても皆同じです。(専門的には、これをリソース(再利用できる 資源)と呼んでいます。)

プログラミングでは、全てにおいて「過去に自分が作ったもの」が 基準であり、且つ、その後の一番の活用資源になりますので、これは よくよく、よく心得ておいてください。


それで、フローチャートには様々な種類がありますので、気づいてる 人は少ない思いますが、実は当講座のレッスンでも度々フローチャート というのを書いています!

たとえば、「私がやりたい事」のリクエスト内容で、

1、会社名Aのシートを選ぶ
2、コピーして別の新ファイルとして保存する
3、ファイル名を会社名A+今日の日付で保存して閉じる
4、会社名B以降同じことを繰り返す、大体30社分

これもれっきとしたフローチャートです。(YAC表記法と呼ばれる 箇条書きでの書き方を模したものです。)

メールの文章で図や線を書くのは難しいですから、これで十分です。 難しい図形は使わずに、この様な箇条書きで書きましょうと私はこれを 推奨しています。


あと、当講座でいつもやっているのが、特にこれらのパターン化です。

例えば、上記4、の繰り返す処理というのでは、ループ処理の基本形を 使って、その中にある固定の部分を可変に変えていく・・、まさしく それが、いつもここでやっているレッスン内容であるわけです。

ロジック考えたりフローチャート書くと聞くと、初心者の方、素人の方 にはちょっと難しく感じてしまう思いますので、当講座ではこういう 書き方とやり方で、「プログラマの考え方」というものを出来るだけ 可能な限り単純化(パターン化)することで、

先の「1.解法(ロジック)を考える」というちょっと難しそうな事も よりやさしく勉強してきた・・・、という次第になっています。


それで、これまで当講座のレッスンでやってきたマクロ事例で作ってきた VBAプログラムの半分は犬小屋程度(フローチャートなしてできるもの)で、 あとの半分は、プレハブ小屋程度と言っていいと思います。

それは要するに、我々のExcel作業の自動化の半分は設計図なしで 建てれる程度のマクロを組めば事足りるもの、あとの半分は処理フロー を箇条書きで書けばできるもの、です。



NEXT >>
マクロはブランクが空いても大丈夫な方法で学びましょう!!
ややこしいロジックが苦手な人はこれを使う
ループの組み方・考え方のコツ



 

読者数1万人達成しました!

エクセルで 最大級の
メールマガジン。
まぐまぐ殿堂入り

最新号は 今すぐ ↓↓↓ 登録

メールアドレス:

Powered by
まぐまぐ

完全まぐまぐ配信なので登録安心です!


エクセルマクロの検定のページ