★ ExcelVBA講座
~プロシージャとは・・~
--------------------------------------------------------------
前回迄で「挿入」-標準モジュールを選択し、簡単なプログラムを作成しましたね。
標準モジュールの中に書けるのはSubプロシージャだけではありません。
主なプロシージャの種類として、SubプロシージャとFunctinプロシージャ
があります。
では2つの違いは何でしょう?
一般的にFunctionは「値を返す」もの、Subは「値を返さない」という
説明がありますが、値を返す?返さない?といわれてもよく分かりませんね!
もう少し具体的に説明すると・・ <値を返す>とは・・ワークシート関数を
思い浮かべて下さい。例えば、任意のセルに「=TODAY()」と記述することに
より、そのセル自体の値が現在の日付に変わりますよね!
これこそが「値を返す」ということなのです。
「=TODAY()」と記述することにより、セルの内容が「現在日付」に変化します。
これは「TODAY関数」が現在の日付を返すという作用があるからです。
これが「Function」です。
--------------------------------------------------------------
<値を返さない>とは・・思い浮かべるものがありませんね。
そもそも、値を返さないプログラムが何の役に立つのでしょうか?
上記のように、1つのセルに対して1つの答えを出すことを「値を返す」と
いっているだけなのです。
「値を返さない」とは、まったく値を返さないわけではないのです。
値の返し方がセルに対して1対1とは限らないだけなのです。
「Sub」を実行することにより一度に複数のセルに対して値を「設定」することが
できます。「値を返さないはずのSub」の方が、なんだか便利に思えませんか?
これが「Sub」です。これに関しては、ん!成る程!と思えましたか?
少し経験がある人には納得して頂けたと思いますが、全くの初心者の方は
「ふぅ~ん」という程度かもしれません。これ以上理解を深めるには
実践した方が良いと思います。
以下の文章を含めて、実践に入った時に、また読み返した見て下さい。
--------------------------------------------------------------
<Functionプロシージャの利用方法>
ワークシートのセル上で「=ユーザー定義関数名(引数,・・)」と記述します。
ワークシート関数と何ら変わりません。ワークシート関数を数式バーに羅列していくと
(実際の運用に耐えられるようなシステムを作成する場合は、数式バーには
沢山のワークシート関数が並ぶことでしょう!)見づらくなって、その内に頭が
混乱してくるでしょう。
例えばこのような時に、ユーザー定義関数を作成します。標準モジュール内の
広大なエリアの中に、上から順序だててロジックを記述していく事が出来ます。
これが最大のメリットなのです。
--------------------------------------------------------------
<Subプロシージャの利用方法>
一般的には、作業の自動化(効率化)を行いたい場合など利用します。
なぁんてことが書かれていますが、Functionだって効率化のために記述しますよね。
ここでいう効率化とは、一度に沢山の作業をまとめて行うということです。
例えば、ボタンをクリックするだけで、リストを自動的に集計して印刷する等々
効率化できる作業は山ほどあるはずです。
--------------------------------------------------------------
さて!どうでしたか?
では、また次回をお楽しみに!
◆----------------------------------------------◆
とことんサポート(eラーニング)概要
http://www.pc-brain.com/
◆----------------------------------------------◆
ExcelVBAの通信講座(eラーニング)
http://www.pc-brain.com/conts_excelvba.html
◆----------------------------------------------◆
Access基礎&実践の通信講座(eラーニング)
http://www.pc-brain.com/conts_access.html
◆----------------------------------------------◆
AccessVBAの通信講座(eラーニング)
http://www.pc-brain.com/conts_accessvba.html
◆----------------------------------------------◆
AccessADO&SQLの通信講座(eラーニング)
http://www.pc-brain.com/conts_accesssql.html
◆----------------------------------------------◆
Androidの通信講座(eラーニング)
http://www.pc-brain.com/conts_android.html
◆----------------------------------------------◆
Excel基礎&関数の通信講座(eラーニング)
http://www.pc-brain.com/ExcelMenu.html
◆----------------------------------------------◆
PHPの通信講座(eラーニング)
http://www.pc-brain.com/conts_php.html
◆----------------------------------------------◆
HTML&CSSの通信講座(eラーニング)
http://www.pc-brain.com/conts_htmlcss.html
◆----------------------------------------------◆
ホームページビルダーの通信講座(eラーニング)
http://www.pc-brain.com/conts_hp.html
◆----------------------------------------------◆