今回は、関数についてお話しします。
とっても基本的な話ですので、そんなの知ってるよって人は読み飛ばしちゃってください。
関数とは
関数とは、プログラムにあらかじめ用意されている処理のことです。
関数を実行すると、与えられた値を使って定められた処理が行われ結果が返されます。与えられた値を引数(argument)、返される結果を戻り値または返り値(return value)といいます。基本的な関数の書式は次のとおりです。
関数(引数1, 引数2, 引数3, 引数4,…)
- 指定する引数の数や型は関数によって異なります。
- 引数がない関数、引数も戻り値もない関数もあります。
- 引数には必須のものと省略可能なものがあります。間にある引数を省略した場合、「(引数1,,引数3)」のように半角カンマだけを入力します。
- 間違った型の引数を指定するとエラーになります。
さまざまな関数
他のプログラム言語同様、VBAには沢山の関数が用意されています。
ざっと分類すると以下のようになります。
- 文字列処理の関数
- 数値演算処理の関数
- 日付処理の関数
- その他
Excelの関数と重なる部分も多いので、どのような関数があるかはExcelを参考にしてもよいかもしれません。
関数の例
ここでは文字列処理に関する関数の例を挙げます。
Len(文字列)
与えられた文字列の長さを返します。
Len("関数の使用例")
⇒ 「6」が戻り値
Trim(文字列)
与えられた文字列の両端の空白を削除します。LTrimは左側の空白、RTrimは右側の空白を削除します。
Trim(" 両端の空白を削除 ”)
⇒ 「両端の空白を削除」が戻り値
Replace(文字列1, 文字列2, 文字列3)
文字列の中を検索し、見つかった文字列2を文字列3と置き換えます。
Replace("両端の空白を削除","両端","右側")
⇒ 「右側の空白を削除」が戻り値
関数にはVBAが用意した関数以外にユーザーが定義できる関数もあります。これについては、後日プロシージャに関連してお話しすることにします。
イミディエイトウィンドウを使ってみよう
前回はVBEのウォッチウィンドウを使って式の状態を1行ずつ確認しました。
今回はイミディエイトウィンドウを使って、関数を実際に試してみましょう。
イミディエイトウィンドウを開きます(開いていない場合)。
メニューバーから [表示] > [イミディエイトウィンドウ] を選択します。
イミディエイトウィンドウが開きます(赤枠の中)。
「?」に続けて式を入力してEnterを押すと、次の行に戻り値が表示されます。
入力例:?2+3*4/2
では、先に挙げた関数を試してみます。
例1:Len関数
例2:Trim関数
例3:Replace関数
関数の戻り値を確認するときなどに便利な機能です。
今回は関数についてざっと説明しました。
あまり難しいことではありませんが、いろいろと試して、関数に慣れてください。
次回は、各種演算子について説明したいと思います。
では、また。