SSブログ

エクセル小僧:ユーザー定義関数の再計算(結)

http://blog.so-net.ne.jp/cheese999/2012-11-20

の続きを。。。

エクセルのユーザー定義関数に値(アタイ♀。。ではありません)を与える方法と
しては、2つあって、

1.ユーザー定義関数の引数として与える
2.ユーザー定義関数の中から、特定のセルを指定して値をもらってくる

の2つがあります。例として、F1セルの値を2倍するユーザー定義関数を
考えます。

コード1:引数として値を与える
1: Function UFTest2(F1 As Integer) As Integer
2:   UFTest2 = F1 * 2
3: End Function

関数の引数として『F1』を定義し、2倍して返しています。

コード2:関数の中から、F1セルの値を取得する
1: Function UFTest1() As Integer
2:   UFTest1 = Range("F1").Value * 2
3: End Function

Range("F1").ValueでF1セルの値を参照しています。

で、この2つの関数をF2セルとF3セルに入れてみます。
F1セルには、あらかじめ『4』が代入されています。

F2セル:=UFTest1()
F3セル:=UFTest2(F1)

F2セルとF3セル、両方とも、『8』が表示されたでしょうか?

で、次に、F1セルに『5』を代入してみます。たぶん、

F2セル:『8』(変化せず)
F3セル:『8』→『10』

※Windows 7, Excel2010で実行した結果です。

となったはずです。ネットで紹介されている情報によると、
引数として明示的に示されている変数が変化したとき、
関数の戻り値が更新されるのだとか。。

理解していただけたでしょうか???

ヤバイぜ!(1)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

ヤバイぜ! 1

コメント 0

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。