Chapter1-4 関数

関数

  • VBAにはさまざまな関数(組み込み関数)がある
  • VBAでは「組み込み関数」のマスターが重要
  • VBAを使うとオリジナルの関数を作ることもできる

VBAの「関数」も、数学で習った”y=f(x)”という方程式や、Excelでお馴染みの”Sum関数“などと同じです。ブラックボックスにある物を入れると、それが一定の法則にしたがって、形を変えて出てきます。

Excelのワークシート関数は、主にセルを式中に指定することによって、それに各種演算を加えた結果をその式を入れたセルに表示します。
一方、VBAにおける関数は、より多様性に富んでいます。さまざまな値や変数などを式中に指定することができます。また、種類も豊富で、数値や文字列の演算、メッセージボックスの処理、ファイルシステムへのアクセスなど、さまざまな関数が用意されています(注)。

どんなプログラミング言語においても、四則演算やループ処理などの基本文法だけでプログラムが完成することはまずありません。いかの関数を使いこなすかが、高度な機能を持ったプログラムをより効率的により簡単に作り上げるためのポイントとなります。いくら英語の文法に詳しくても、英単語のボキャブラリがなければ英会話にならないのと同様、できるだけ多くの関数を知っていることが大切です。

※注:VBAがあらかじめ持っている関数を「組み込み関数」といいます。一方、VBAでは、独自の関数を作ることもできます。もちろん、自分で作った関数の中から組み込み関数を呼び出すこともできます。



■関数の構成要素
下図のような簡単な「足し算関数」を考えてみましょう。
この関数の内部の仕組みは説明するまでもありませんが、これを元に関数に関するいくつかの構成要素を説明します。



  • 引数
    上図の「10」や「5」のように、関数に入れるデータのことです。数値の場合もあれば文字列の場合もあります。変数を引数とすることもよくあります。また、処理の条件を引数として与える場合もあります。関数の中には、引数を持たないものやいくつもの引数を持つものもあります。

  • 返り値
    上図の「15」のように、関数の処理によって出力されるデータのことです。引数と同様に、数値を返すものもあれば文字列を返すものもあります。また、関数内の処理に成功したかどうかという結果だけを返すものもあります。中には、返り値を持たない関数もあります(一連の処理を1つにまとめたもので、厳密にはこれを”手続き“と呼ぶこともあり、オリジナルの関数ではSubプロシージャといいます)。

  • 構文
    上図の関数をイミディエイトウィンドウで実行する場合、次のように記述します。「?足し算関数(10, 5)」と記述したあと、Enterキーを押します。すると次の行にその答えである「15」が表示されます。
    ?足し算関数(10, 5)
    15
    構文としてはこのように、関数名の次にカッコを書き、その中に所定の引数を「,(カンマ)」で区切って列挙します。
    一連のプログラムにおいては、返された値は、変数に代入して以降の処理で利用します。
| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved