エクセルのユーザー定義関数
Excel2016,2013 技BEST 3回
ユーザー定義関数を理屈抜きで作ろう
ユーザー定義関数って何よ?
ユーザー定義関数とは利用者が自分で値を定義する 関数のことです。
数式でやれるけど、いつも面倒だなというようなときに、ユーザー定義関数を
自分で作成して、ワークシート上で使うことができます。
今回は、難しいことは抜きにして、税込み金額を求めるユーザー定義関数を自前で作ってみることにします。
金額を指定すると1.1倍の税込み金額を求めるユーザー定義関数zeikomiを作ってみましょう。
ユーザー定義関数の作り方
(1)通常のエクセルの画面から[Alt]キーを押しながら、[F11]キーを押します。
あるいは、開発タブを表示し、コードグループの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」となります。
このユーザー定義関数は、データ型をAs Long とLongと指定していますが、家計簿のような金額を扱うなら、As IntegerとInteger型を使います。Integer型の数値の範囲は「-32,768 ~ 32,767」となります。
作成した以外のブックでユーザー関数を使いたいときは関数をコピーして、
もって行く必要があります。
ユーザー関数は関数の中身を変更しても再計算してくれません。 変更した時は、関数の書かれたセル内で、一部分をクリックして、 [Enter]キーを押してください。
ユーザー関数を作成して、保存した後、再びそのBookを開こうとすると、 『開こうとしているブックにマクロが含まれています...』と注意がでますが、 自分が作った関数のことですので、『マクロを有効に』でひらきます。
「習うより、慣れろ」でいきなりVisualBasicを使ってみましたが、
どうですか? ぜんぜん難しいことはありませんでしたね。
こちらのコードは、税込み金額から、本体価格を出す関数です。
ユーザー関数は関数の中身を変更しても再計算してくれません。 変更した時は、関数の書かれたセル内で、一部分をクリックして、 [Enter]キーを押してください。
ユーザー関数を作成して、保存した後、再びそのBookを開こうとすると、 『開こうとしているブックにマクロが含まれています...』と注意がでますが、 自分が作った関数のことですので、『マクロを有効に』でひらきます。
「習うより、慣れろ」でいきなりVisualBasicを使ってみましたが、
どうですか? ぜんぜん難しいことはありませんでしたね。
こちらのコードは、税込み金額から、本体価格を出す関数です。
Function offtax(値 As Long) As Long offtax = 値 / 1.08 End Function