ファンクションプロシージャについて
プロシージャには様々な種類のものがあり、それぞれ役割を持っています。
前回はサブプロシージャについて説明しました。今回はファンクションプロシージャというものについて説明します。ファンクションプロシージャのコードの中でサブプロシージャも出てくるので、前回の内容を思い出しながら勉強していきましょう。
ファンクションプロシージャってなんだろう?
ファンクションプロシージャの特徴は他のプロシージャの実行した結果を受け取り表示することができることです。
しかしこれだけではよくわかりませんよね。
物に例えて説明します。まず前提として上にも書いたように「他のプロシージャの実行した結果を受け取って表示する。」なので2つのプロシージャが存在します。
2つのプロシージャというのは今回、「サブプロシージャ」と「ファンクションプロシージャ」です。
では例に戻ります。
テストの問題用紙があります。そこには当然、出題された問題が書かれていますよね。まずこれが一つ目のプロシージャの「サブプロシージャ」です。このサブプロシージャは問題用紙なので、「○○に入る文字を答えよ。」このような問題が出たとしましょう。
さて次は解答用紙です。今回のファンクションプロシージャはこの解答用紙になります。
解答用紙には当然問題用紙に書かれた問題の答えを記入しますよね。その記入する答えこそが上の「ファンクションプロシージャの特徴は他のプロシージャの実行した結果を受け取り表示することができる。」なのです。
しかし答えを書いただけでは点数をくれない先生っていましたよね。特に数学の先生など。
そのためファンクションプロシージャには答えを出すまでに考えた条件判断(計算式)も記入します。それがファンクションプロシージャに記入するコードの内容になります。
説明が長くなってしまいましたが、次はVBEで2つのプロシージャにコードを書きながら説明していきます。
ファンクションプロシージャを使ったマクロの作成
今回作成するマクロは一定の点数以上(今回は70点)であれば「合格」、それ以下である場合は「不合格」と指定したセルに表示させるマクロを作ります。
初めにサブプロシージャで問題と結果を記入する位置を指定します。
次にサブプロシージャで出された問題の答えと考え方をファンクションプロシージャに記入します。
それぞれのプロシージャが完成しました。
2つのプロシージャを作成できたら実行してみましょう。
実行するとエクセルのシートに結果が表示されます。