【Power Query】プロシージャを理解しよう【Excel】

VBAのプログラムには関数が非常に多く登場します。

関数は正式にはプロシージャと呼ばれており、FunctionとSubの形で1つのまとまりになっています。

この記事では、良く使われる「配列」と「繰り返し処理」を踏まえてプロシージャについて解説していきます。

プロシージャについて

多くの方は何かしらのVBAの資格をとる必要がない限り、厳密な定義は覚える必要はありません。

プロシージャとは、「処理をまとめたもの」とイメージして実際にコードを動かすことを重要視していきましょう。

再利用がしやすい・可読性・バグを少なくするメリットがある

VBAのコードをまとめることで得られるメリットとして、大きく3つのメリットがあります。

1.再利用がしやすい、2.可読性が良くなる、3.バグを少なくする、の3つです。

具体的なメリットは実際にコードを書いて体験すると良いと思います。

プロシージャは関数と同義で2種類ある

プロシージャは、「処理をまとめたもの」なので「関数」とほぼ同義として説明されることもあります。

プロシージャにはFunctionとSubの2種類の形があります。

結果を返り値として返す場合はFunction

結果を返り値として返す場合はFunctionの形を取ります。

返り値を返さないものはSub

一方で、結果を返り値として返さない場合はSubの形を取ります。

例:BMIの計算をプロシージャを使って表示してみよう

例として、BMIの計算をSubとFunctionを使って表示してみます。

配列と繰り返し処理の組み合わせ

配列の書き方は以下のコードのようになります。

ポイント

配列(10)の場合は
0 1 2 3 4 5 6 7 8 9 10
と指定した数+1個の変数が入る箱が用意されるので
合計で11個のデータになる

大量のデータを処理する場合は配列と繰り返し処理を組み合わせる

データを扱う場合は数百行、数千行のデータを取り扱う場合があります。

そのような場合、このようにデータを1つずつ用意することは非常に非効率です。

大量のデータを扱う際は、配列と繰り返し処理の組み合わせに慣れる必要があります。

プロシージャを利用しながら配列を使ってみます。

ウォッチ式の使い方はこちらを参考に

まとめ

この記事では、「配列」と「繰り返し処理」を踏まえてプロシージャについて解説しました。

慣れないと「Dimって何だっけ?」「ウォッチ式ってなんだっけ?」となって手間が増えがちですが、ポイントだけ抑えてゆっくり学習していきましょう。