【VBA】ユーザー定義関数を作る方法【Functionプロシージャ】

Excelにはたくさんの関数が用意されています。

それでも、自分が思った関数が用意されていない時があり、そんなときには『Functionプロシージャ』を使って新たに独自の関数(ユーザー定義関数)を作ることができます。

 

VBAには普段使っている「値を返さないSubプロシージャー」と、今回解説する「値を返すFunctionプロシージャ」があります。

簡単なので、ぜひ覚えていってください。

スポンサーリンク



ユーザー定義関数を作る方法

では、さっそくシンプルなユーザー定義関数を作成してみます。

ここでは単価100円の商品の消費税込みの価格を求めるという内容で『Tax』という関数を作ります。

下はそのTax関数を呼び出すコードになります。

上では7行目に『Tax関数』を使っています。

その引数に「100」が入った変数を指定しています。

 

そして、Tax関数の中身は次のようになっています。

1行目で呼び出し元コードで指定した引数の「price(100が入っている)」が渡されます。

そして、7行目で引数のpriceを使って計算し、ここで計算された値が返されます。

※返したい値は関数名(今回はTax)に代入する。

 

ちなみに上のコードを実行した場合の結果は下の通りです。

 

【VBA】関数の引数を省略可能にする【ユーザー定義関数】
本記事ではユーザー定義関数で指定する引数を省略可能にする方法について解説していきます。 省略可能な引数を指定する方法 省略可能な引数を指定したい時には『Optionalキーワード』を使います。 この引数指定時にOptionalキー...
【VBA】関数の引数を可変長にする方法【ユーザー定義関数】
「ユーザー定義関数に渡す引数の数は可変長にしたい」 VBAでツール作成をしていると、複数の同じ用途の値を同時に処理したくなる時があります。 そして、ワークシートのデータなどを扱う処理の場合、引数に渡したい値の数は決まっていない時...
【VBA】ユーザー定義関数の戻り値を複数にする方法【ByRefを使う】
「ユーザー定義関数の戻り値を2つ以上にしたいな」 VBAでツール作成をしていると、複数の値に対して「同じ処理を行う」「複数の戻り値が欲しい」という時があります。 しかし、関数の戻り値は1つしかありませんし、増やすこともで...

 

〇おすすめのVBA参考書ランキング!

1位

2位

3位

Excel VBA 脱初心者のための集中講座パーフェクトExcel VBAExcelVBA 実戦のための技術
初心者~中級者中級者初心者~中級者
【初心者が手に取るべき参考書】

・「書籍+動画」で圧倒的に理解しやすい入門書になっている。

・丁寧で詳しい解説でボリューム感がある。

【より深い理解をしたい方にお勧めな参考書】

・テーマに対して丁寧な解説・適度な深さで解説されている。

・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。

【入門書と一緒に買うべき参考書】

・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。

・実践的で効果的なコードの書き方が理解できる。

【読んでみた一言】
正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。
【読んでみた一言】
深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。
【読んでみた一言】
基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。

¥2,794円
amazonで確認!

¥3,608円
amazonで確認!

¥2,640円
amazonで確認!

スポンサーリンク