2009年11月25日

Excel(ユーザー定義関数・基本型)

前回はあまり詳細な作成方法を載せていないが
今回は実際に関数を作成する方法をやさしく残しておくことにする
Excelのマクロを作成したことがある人なら
どうということはないが
そうでない人も簡単なものを作成できると
作業効率がUPしたりするので覚えておいて損はないっす

[ユーザー定義関数の作成・Excel2007以前]
1.ツールバーから[ツール]→[マクロ]→[Visual Basic Editor]を実行

2.Projectエクスプローラの部分を右クリックして標準モジュールを挿入

3.挿入した標準モジュールを開きコードを記述する

[ユーザー定義関数の作成・Excel2007]
1.左上のOfficeボタンから[Excelのオプション]→
 →[開発タブをリボンに表示する]にチェックしOK

2.タブを[開発]にあわせて一番左の[Visual Basic]をクリック

3.Projectエクスプローラの部分を右クリックして標準モジュールを挿入

3.挿入した標準モジュールを開きコードを記述する

[ユーザー定義関数の基本構文]
下記のような構文になる
Function 関数名(引数1 As データ型) As データ型
  関数名 = 計算式
End Function


引数はカンマで区切ることで複数指定することもできる
Function 関数名(引数1 As データ型,引数2 As データ型) As データ型
  関数名 = 計算式
End Function
といった具合になる

[基本構文に基づいた関数の作成]
では実際のコードはどのようなものになるのか
簡単なものを作成してみることにする
馴染みの深い所で消費税5%を含んだ値を返す関数を作成してみる

Function ZEIKIN(Rng as Range)as Integer
  ZEIKIN = Rng * 1.05
End Function

[関数の説明]
まず最初の1行目
Function ZEIKIN(Rng as Range)as Integer

「ZEIKIN」という名前の関数を定義しているのがわかると思うが
その後に続く部分を詳しく説明したいと思う

「Rng as Range」という文字が見えるが
「Range」というのはVBAの中でセルをあらわす時に使用する関数になり
関数を使用した時にExcelのセルの値を「Rng」という箱に格納しなさい
という意味になる

続いて「Integer」という文字が見えるが
これは関数「ZEIKIN」を使用して扱う値のデータ型は「Integer型」ですよ
ということをあらわしている

「Integer型」とは何か?
数値には整数や小数などいろいろな型があるのはご存知かと思うが
「Integer型」は整数型で「-2147483648 ~ 2147483647」の数値を扱うことができる
これではたりないよという人には「Long型」というものがあり
「-9223372036854775808 ~ 9223372036854775807」の数値を扱うことができる

続いて2行目
ZEIKIN = Rng * 1.05

「Rng」に引数の値が格納されているのだから
それに「1.05」を掛けることで元の値に5%の消費税が加算された値を計算し
関数「ZEIKIN」の結果として返してやるという動作だ

最後の行の「End Function」は
ここまでで関数の定義が終わりですよという意味になり
最初の「Function」からはじまって「End Function」で終わるのが
ユーザー定義関数を作成する時のお約束となっている

[関数を使用する]
ではさっそく作成した関数を使用してみよう
Excel(ユーザー定義関数・基本型)
Excelでいつも使用する関数と同じように使用でき
「A1」のセルに入力されている「1000」を引数に指定することで
「B1」のセルに「1050」という答えが返ってきた

このように簡単なものから複雑なものまで
作りこんでいくといろいろなユーザー定義関数を作成することができ
作業効率がUPしたりするので
ユーザー定義関数の作成にぜひ挑戦してみてほしい



同じカテゴリー(ユーザー定義関数)の記事
 Excel(ユーザー定義関数の制限) (2009-12-06 23:18)
 ExcelVBA(変数の定義) (2009-11-29 08:59)
 ExcelVBA(データ型) (2009-11-26 16:59)
 文章を半角カタカナに変換する関数 (2009-11-24 06:27)

※会員のみコメントを受け付けております、ログインが必要です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
Excel(ユーザー定義関数・基本型)