EXCEL、VBAプログラミング入門13~フローチャートついて~

今回は、EXCEL、VBAプログラミングの第13回目で、フローチャートについて説明をさせていただきます。今回の内容は直接的なVBAの説明ではございませんが、プログラミングを学習していく上で、参考になるのではないかということについて記載しました。

今回は、以下のことについて解説を行っています。
1)はじめに
2)フローチャート
3)処理の流れを理解する

1)はじめに
前回は、下図の通り「四則演算」関数について説明をしました。

図1.「四則演算」関数

前回までで、
If 条件1 Then
           条件1に合致する場合の処理
Elseif 条件2  Then
  条件2に合致する場合の処理
Elseif 条件3  Then
  条件3に合致する場合の処理
Else
           それ以外の条件
End If

Select Case 変数
    Case 値1
        変数が値1の場合に行われる処理
    Case 値2
        変数が値2の場合に行われる処理
    Case Else
        変数が値1、値2以外の場合に行われる処理
End Select
は、共に分岐条件であることを説明しました。ちなみに分岐条件とはある条件で処理を分けることができる機能です。実際のプログラム例は、図1.「四則演算」関数をご確認ください。

2)フローチャート
ここでは関連事項としてフローチャートについて説明をしたいと思います。

フローチャートとは処理の流れを図にしたもので、例えば、以下のように記述します。

図2.フローチャートの例(出典:https://ja.wikipedia.org/wiki/フローチャート)

プログラムを処理の観点から捉えると、3つの機能に分類できます。

(1)処理の順序
例えば、図1の四則演算処理では、大前提として処理は上から順に行われます。

(2)分岐条件
これは、前回にも説明したIF文やCase文が該当します。

(3)繰り返し
繰り返し処理については、本Excel VBA プログラミング講座では後半に取り上げていきます。

例えば、図2のフローチャートの例でいうと
ひし形の10<n
の部分で10<nの条件が成立するかを確認しています。

その上段で、
1 → n
で変数nには1を代入していますから、10<nは成立しません。その場合には、NOの方に処理が流れます。

その次の処理で
s + n  → s
となっています。

Sには何も入力していませんので、s ← 0 の状態です。また、nは1ですから、
0 + 1
の結果である1をSに代入しています。
s + n  → s
という記述の方法は数値を累計していく際に使用する典型的な方法です。

次は
n + 1  → n
でnに1を足した結果をnに代入しています。この処理を行うことで、nは2となります。これは処理でよく出てくるカウントアップの記述です。

その後、矢印は 
ひし形の10<n
のところまで戻ります。この処理が繰り返し処理となっています。

つまり、プログラムの構造は「順序」「分岐」「繰り返し」の3つの機能から成り立っています。プログラムを考えるとは、この3つの機能を組み立てていくことがプログラムの本質となります。

3)処理の流れを理解する
ただ、この3つの機能が理解しているとプログラムが組めるかというと残念ながらそうではなく、例えば、図1の「四則演算」関数内で
演算子 As String
という部分ですが、これはこれまでに説明を行ってきた通り、「演算子」という変数を「文字型」として定義しています。

また、関数は
Function 関数名(引数)
   関数の処理内容
End Function
と記述することになっています。

これらの内容はEXCEL VBAのルール的な内容です。ルール的な内容とは、なぜ「As String」は文字型であるかということを考えることではなく、変数の文字型を使用したければ「As String」と記載するというきまりです。

つまり、ここでいうプログラムのルール的な内容は知っているか、どうかということで、考えて分かるものではありません。

一方、プログラムを「順序」「分岐」「繰り返し」で組み立てていくということは、ルールは極めて単純ですが、それらを使って処理をどのように組み立てていくかということを考えなければなりません。

プログラムの本質的な部分は「順序」「分岐」「繰り返し」で処理を組み立てていくという部分にあります。しかし、どうしてもプログラムの勉強をしていると文字型を宣言する際には「As String」と記載するなどプログラムのルール的な部分に終始しがちになりますので、学習している人もそれらに目がいってしまいます。

確かに、プログラムを学ぶとはその言語特有のルール的な部分を覚えなくてはいけませんし、ルール的な内容が全く分からないとどうしようもありません。しかし、その部分をあまり深く追求するのではなく、まずは処理の流れがどのようになっているかを考えていくということが重要です。

そのためには、既に記述されているプログラムを読んで理解できる事が重要ではないかと思います。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。