97 およびそれ以前の Microsoft Excel または Microsoft Excel 98 Macintosh Edition またはこの資料の以前のバージョンは、 を参照してください。
概要
Microsoft Visual Basic for Applications、すべての Microsoft Excel のワークシート関数は、アプリケーションオブジェクトのメソッドとしてサポートされています。アプリケーションオブジェクトでこれらのワークシート関数のいずれかを使用しようとする場合は、次のエラー メッセージが表示されます。
実行時エラー '438': オブジェクトはこのプロパティまたはメソッドをサポートしていません
詳細情報
Microsoft Excel ワークシート関数を呼び出す Visual Basic プロシージャを作成できます。ワークシート関数は、Visual Basic プロシージャで使用するアプリケーションオブジェクトには、メソッドまたは Visual Basic のオブジェクトの Browser.Most にあるアプリケーションオブジェクトのプロパティ] ボックスの一覧にあります。同等の Microsoft Visual Basic の組み込み演算子や関数が、アプリケーションオブジェクトのメソッドとして使用されているワークシート関数があります。たとえば、Visual Basic に組み込まれている同等のMod演算子があるのでMODワークシート関数は、アプリケーションオブジェクトのメソッドとして使用できません。Visual Basic の演算子は、Visual Basic モジュール内で Excel の関数よりも高速に動作します。
Excel のワークシート関数が Visual Basic のメソッドとして使用可能
注: 次の手順では、Visual Basic のヘルプ ファイルがインストールされている前提としています。Visual Basic でアプリケーションオブジェクトのメソッドとして使用可能なすべての Microsoft Excel ワークシート関数の一覧を表示するには、以下の手順を実行します。
-
Visual Basic エディターでは、Microsoft Office アシスタントで、ワークシート関数を入力し、検索] をクリックします。
-
トピックの一覧で、[リストのワークシート関数で使用できる Visual Basicのようにクリックします。
同等の Visual Basic の演算子またはアプリケーションオブジェクトのメソッドとして使用可能ではない Microsoft Excel ワークシート関数の関数を検索するには、以下の手順を実行します。
-
Visual Basic エディターで、Office アシスタントで、関数または演算子の名前を入力し、検索] をクリックします。たとえば、 modを入力します。
-
、トピックの一覧では、関数または演算子のトピックをクリックします。たとえば、 Mod 演算子のトピックをクリックします。
次の表には、アプリケーションオブジェクトのメソッドとして使用されているワークシート関数が含まれています。Visual Basic と同じ列には、使用できる関数が返すのと同じ (またはそれに類似した) の結果の結果を生成する関数が一覧表示されます。 Microsoft Excel Visual Basic worksheet function equivalent ------------------------------------------------------------------- ABS() Abs function ATAN() Atn function CHAR() CHR function CODE() ASC function COS() Cos function DATE() DATESERIAL function ERROR.TYPE() ERR function EXACT() STRCOMP function EXP() Exp function INDIRECT() No direct equivalent - use Range, Cells, Offset, or any other way of referencing cells. INFO() No direct equivalent - use the following: CURDIR function, the following Application properties (MEMORYTOTAL, MEMORYUSED, MEMORYFREE, VERSION, OPERATINGSYSTEM, CALCULATION, COUNT) ISBLANK() ISEMPTY function ISREF() TYPENAME function LEN() LEN function LOWER() LCASE function N() No equivalent (none needed) NA() No equivalent - use ActiveCell.Value = "#N/A" RAND() RND function RANDOMIZE() Randomize function SIN() Sin function SIGN() Sgn function SQR() Sqr function SQRT() Sqr function T() No equivalent (none needed) TAN() Tan function TODAY() DATE function TRUNC() FIX function TYPE() TYPENAME function UPPER() UCASE function VALUE() VAL function 注: [Microsoft Excel ワークシートの関数と同等の Visual Basic の演算子または関数と同じ方法を常に計算することはないと、同じ名前がある場合でも、異なる結果を与える可能性があります。Visual Basic と同じ演算子や関数を使用してお勧めの高速化し、柔軟に計算します。さらに、Visual Basic の演算子や関数では、Microsoft Visual Basic を使用して、Visual Basic の演算子または上の一覧に表示される関数を使用することをお勧めする Applications.Although のすべてのアプリケーションで使用できる、代替があります。必要な場合は、Visual Basic マクロでワークシート関数を使用するためのメソッドです。たとえば、 ExecuteExcel4Macroまたは評価関数を使用して、Visual Basic マクロでATANワークシートを使用できます。 x = Application.ExecuteExcel4Macro("Atan(12)") または x = Application.Evaluate("Atan(12)")