Excel VBA入門 | 関数とその種類
公開日:2018年1月14日
Excel VBAを学ぶ上で、文法の基本を学ぶことは言うまでもなく重要です。
ここでは基本構文の1つである関数について解説します。
関数とその種類【Excel VBA入門】
目次
1.関数とは
関数とは、Excelワークシートで使用するSUM関数やAvarage関数と同じように、関数毎に定められた値(といいます)を受け取って、決められた処理を行い結果を返すような命令をいいます。
2.関数の書式
関数(引数1,引数2,・・・引数N)
Nは数字を表します。
記述した関数とその引数から、その関数特有の処理を行い結果を返します。
引数の数やその内容は関数によって異なります。中には引数を取らない関数も存在します。
使用する上で注意する点としては、関数単体では正常に動作しない場合もあるということです。その場合には、オブジェクト式と組み合わせて使用することになります(後述の使用例を参照)。
3.使用例
次の例では、1番目の引数に設定した「サンプルVBA」という値(文字列)を、2番目の引数に設定した4という値(数値)の文字数(サンプル)だけ、A2セルに入力します。
【VBA実行前】

【プログラム】
Sub 文字列の4番目までをセルA2に入力() Range("A2").Value = Left("サンプルVBA", 4) '(1) End Sub
【VBA実行後】

【解説】
(1)Range("A2").Value = Left("サンプルVBA", 4)
→セルA2の値に、Left関数を使用して「サンプルVBA」のうち、最初から4文字目までを代入します。
右辺が関数の書式「関数(引数1,引数2,・・・引数N)」の典型例になります。
Left関数はLeft(文字列,数値)の形を取り、最初の引数である文字列に指定された引数について、2番目の引数で設定した数値の文字数だけ結果として返す(Left関数側から言えば「返す」ですが、VBAプログラム側から言えば「受け取る」)、という動作を行います。
今回の例では「Left("サンプルVBA", 4)」ですので、「サンプルVBA」という文字列から4番目までの文字を返すということです。結果として「サンプルVBA」のうち、「サンプル」の4文字だけが結果として返ります。
【補足】文法上の注意点
返ってきた結果は、今回の例では「サンプル」という値(文字列)です。
従って、「Left("サンプルVBA", 4)」は、基本形では「値」と置き換えて考えることができます。
VBAプログラミングの文法では、「値」だけの記述で正常に動作するような形は存在しません。従って、「Left("サンプルVBA", 4)」だけを記述するとエラーになります(「コンパイルエラー 修正候補:=」)。

コンパイルエラーにならないようにするには正しい文法で記述しないといけません。今回の例ではセルA2に入力したいので、オブジェクト式「オブジェクト.プロパティ = 値」を使用して、左辺にセルA2を表す「Range("A2").Value」を、右辺には、値が結果として返る「Left("サンプルVBA", 4)」を記述しています。
※オブジェクト式は、Excel VBA入門 | オブジェクト式とプロパティ、メソッドにて解説しています。ご参照ください。
10冊まで同時に読み放題の電子書籍サービス(200万冊以上が対象)。
PC・ITカテゴリーの対象数は7,000以上。
スキル、ノウハウ吸収や話題作りにと、ライフ・クオリティを高めてくれます。
関連記事

IE操作に役立つツールのアイディア

Excel関数のメリットを活かすVBA開発

初心者からVBAプログラマーになるまでの書籍を紹介

WinActorの良いところ悪いところ、VBAとの比較など

VBAエキスパートの独学方法