ユーザー定義関数の作り方

ユーザー定義関数
ユーザー定義関数

3行マクロ 68回

ユーザー定義関数

今回はざくっと簡単に、 すぐに使える「曜日をゲットするユーザー定義関数」や 「月をゲットするユーザー定義関数」を作成します。ユーザー定義関数に慣れるには、理屈は置いておき、 使ってみることです。


(サンプルファイルは、こちらから 3行マクロ19回サンプルデータ

Functionプロシージャ ユーザー定義関数

function プロシージャの構文の方があるので、最低限は守らなければいけないルールはあります。
ユーザー定義関数の作り方マクロ1
そこで function プロシージャ名
End function
これは外せないので、 必ず入れてやります。
ユーザー定義関数の作り方マクロ2
サンプルでは1から12まで連続する番号を入力していますが、これを隣に1月2月3月のように表示させたい場合に使う、ユーザー定義関数でを作ります。 まず Function そして関数の名前は、自由につけることができますので「NameOfMonth」と入れてやりました。
引数には ローマ字で tuki といれてやりますこれも自由に 設定することができます。わかりやすい名前をつけてやればいいです。 引数の型を 省略した時はバリアント型と判断されますので、 形が思いつかなければ省略しても大丈夫です。
そしてステートメントのところにはその関数を使うための式を入力します。
コードは、
Function NameOfMonth(tuki)
    NameOfMonth = MonthName(tuki)
End Function
ユーザー定義関数の作り方マクロ3
出来上がったので早速試してみましょう。セルに=と入力し Name Of month 入れてやると、 途中まで入力したところで function のヒントが出てきます。
NameOfMonth が、関数として認められたということになりますね。
ユーザー定義関数の作り方マクロ4
=NameOfMonth(1) としても、 1月と表示されます。 また隣のセルを参照して=NameOfMonth(B3) のようにしてやっても 月と判断して2月 と表示されます。
ユーザー定義関数の作り方マクロ5

曜日を入力するユーザー定義関数

月の名前が取得できるのであれば、曜日の名前なども取得できるはずですね。それでは ユーザー定義関数のコードを記入しましょう。
ユーザー定義関数の作り方マクロ6
関数名は、youbiとし、引数はわかりやすく、hidukeとしました。
Function youbi(hiduke)
    youbi = WeekdayName(Weekday(hiduke))
End Function
それでは シートに関数を入力して 実行してみましょうね。 ここでは引数に直接日付を入力してみます。
=youbi("2019/12/31")
戻り値は火曜日となりました。
ユーザー定義関数の作り方マクロ7
日付の入っているセルを参照させて、 =youbi(E5) の ように入力しても その日の曜日を取得することができます。
ユーザー定義関数の作り方マクロ8
コードはたった1行ですけれども非常に便利に使うことができます。 堅苦しく考えずに ぜひ一度試してみてください。
ユーザー定義関数の作り方マクロ9