エクセル小僧:ユーザー定義関数の再計算(結)
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で実行した結果です。
となったはずです。ネットで紹介されている情報によると、
引数として明示的に示されている変数が変化したとき、
関数の戻り値が更新されるのだとか。。
理解していただけたでしょうか???
の続きを。。。
エクセルのユーザー定義関数に値(アタイ♀。。ではありません)を与える方法と
しては、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で実行した結果です。
となったはずです。ネットで紹介されている情報によると、
引数として明示的に示されている変数が変化したとき、
関数の戻り値が更新されるのだとか。。
理解していただけたでしょうか???
コメント 0