エクセルVBA揮発性関数
デフォルトでは、UDFの( ユーザ定義関数)エクセルVBAでは揮発性ではありません。関数の引数のいずれかが変更されたとき、彼らは唯一の再計算されます。計算がワークシート上の任意のセルに発生するたびに揮発性関数が再計算されます。さんはもう少しこれを説明するために簡単な例を見てみましょう。
-
Visual Basicエディターおよび挿入モジュール]をクリックします。
選択したセルと、このセルの下のセルの合計を返しますMyFunctionのと呼ばれる関数を作成します。
次のコード行を追加します。2.:
Function MYFUNCTION(cell As Range) MYFUNCTION = cell.Value + cell.Offset(1, 0).Value End Function
3.今、あなたは、他のExcel関数と同じように、この機能を使用することができます。
4.これは、非揮発性関数です。関数の引数のいずれかが変更されたときに、不揮発性機能のみが再計算されます。 8に、セルB2の値を変更し
5.次に11に、セルB3の値を変更
説明:シート上の任意の他の細胞が変化した場合、不揮発性関数が再計算されません。
6.アップデート機能としては、関数が揮発性にするために、次のとおりです。
Function MYFUNCTION(cell As Range) Application.Volatile MYFUNCTION = cell.Value + cell.Offset(1, 0).Value End Function
7.変更12に、セルB3の値
結果:
注:あなたはそれを揮発性にする(または数式バーにカーソルを置き、Enterキーを押してそれを更新)するために、再度関数を入力する必要があります。