エクセルのユーザー定義関数

理屈抜きでユーザー定義関数をつくる Excel2016
ユーザー定義関数をつくる

Excel2016,2013 技BEST 3回

ユーザー定義関数を理屈抜きで作ろう

ユーザー定義関数って何よ?

ユーザー定義関数とは利用者が自分で値を定義する 関数のことです。
数式でやれるけど、いつも面倒だなというようなときに、ユーザー定義関数を
自分で作成して、ワークシート上で使うことができます。

今回は、難しいことは抜きにして、税込み金額を求めるユーザー定義関数を自前で作ってみることにします。

金額を指定すると1.1倍の税込み金額を求めるユーザー定義関数zeikomiを作ってみましょう。

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

(1)通常のエクセルの画面から[Alt]キーを押しながら、[F11]キーを押します。
ユーザー定義関数を作る1
あるいは、開発タブを表示し、コードグループのVisualBasicボタンをクリックします。

Excel VBEの画面

(2)これで通常のエクセルの画面からVBEの画面に移動します。 VisualBasicの画面のメニューから、 挿入をクリックして、
[標準モジュール]を選択します。
(3)Module1という名前の画面が表示されまましたね。
(4)Module(コード)の画面へ半角英数字で関数を書きこみます。 今はコードの意味がわからなくても、このまま貼り付けましょう。旧消費税率なら、
Function zeikomi(値 As Integer) As Integer
    zeikomi = 値 * 1.08
End Function
税率が10%に上がることが決まっていますから、1.1倍の税込み金額を求める式もつくります。
税込み金額を計算するユーザー定義関数のコードを入力したら、 VBEの画面から Excelのセルか、タスクバーのExcelをクリックして、元のワークシート側に戻ります。

ユーザー定義関数を使ってみる

では、Excelのシートに戻り、C2に =zeikomi2(B2) と入力し[Enter]キーを押せば、1.1倍の税込み金額を求めることができます。
図のようにB2の税込み金額がC2セルに表示されます。
このユーザー定義関数は、データ型をAs Long とLongと指定していますが、家計簿のような金額を扱うなら、As IntegerとInteger型を使います。Integer型の数値の範囲は「-32,768 ~ 32,767」となります。
作成した以外のブックでユーザー関数を使いたいときは関数をコピーして、 もって行く必要があります。
ユーザー関数は関数の中身を変更しても再計算してくれません。 変更した時は、関数の書かれたセル内で、一部分をクリックして、 [Enter]キーを押してください。

 ユーザー関数を作成して、保存した後、再びそのBookを開こうとすると、  『開こうとしているブックにマクロが含まれています...』と注意がでますが、  自分が作った関数のことですので、『マクロを有効に』でひらきます。

「習うより、慣れろ」でいきなりVisualBasicを使ってみましたが、
 どうですか?  ぜんぜん難しいことはありませんでしたね。
こちらのコードは、税込み金額から、本体価格を出す関数です。
Function offtax(値 As Long) As Long
    offtax = 値 / 1.08
End Function
    
ユーザー定義関数 関連ページ