この記事の Microsoft Excel 97 以前または Microsoft Excel 98 Macintosh Edition 以前のバージョンについては、 107564を参照してください。

概要

Microsoft Visual Basic for Applicationsでは、すべての Microsoft Excel ワークシート関数が Application オブジェクトのメソッドとしてサポートされているわけではありません。 Application オブジェクトでこれらのワークシート関数のいずれかを使用しようとすると、次のエラー メッセージが表示されます。

Run-Time エラー '438':Object はこのプロパティまたはメソッドをサポートしていません

詳細情報

Microsoft Excel ワークシート関数を呼び出す Visual Basic プロシージャを記述できます。 Visual Basic プロシージャで使用できるワークシート関数は Application オブジェクト内にあり、Visual Basic オブジェクト ブラウザーの Application オブジェクトのMethods または Properties リストに一覧表示されます。Application オブジェクトのメソッドとして使用できないほとんどのワークシート関数には、同等の Microsoft Visual Basic 組み込み演算子または関数があります。 たとえば、Visual Basic に組み込まれている同等の Mod 演算子があるため、MOD ワークシート関数は Application オブジェクトのメソッドとして使用できません。 Visual Basic 演算子は、Visual Basic モジュールの Microsoft Excel 関数よりも高速に動作します。

Visual Basic でメソッドとして使用できる Excel ワークシート関数

注: 次の手順では、Visual Basic ヘルプ ファイルがインストールされていることを前提としています。Visual Basic で Application オブジェクトのメソッドとして使用できるすべての Microsoft Excel ワークシート関数の一覧を表示するには、次の手順に従います。

  1. Visual Basic エディターで、Microsoft Office Assistant にワークシート関数を入力し、[検索] をクリックします。

  2. トピックの一覧で、[ Visual Basic で使用できるワークシート関数の一覧] をクリックします。

Application オブジェクト メソッドとして使用できない Microsoft Excel ワークシート関数の同等の Visual Basic 演算子または関数を見つけるには、次の手順に従います。

  1. Visual Basic エディターで、Office Assistant に関数または演算子の名前を入力し、[検索] をクリックします。 たとえば、「mod」と入力します。

  2. トピックの一覧で、関数または演算子のトピックをクリックします。 たとえば、Mod 演算子トピックをクリックします。

次の表に、Application オブジェクトのメソッドとして使用できないワークシート関数を示します。 Visual Basic の同等の列には、関数から返される結果と同じ (または同様の) 結果を生成する関数が一覧表示されます。 Microsoft Excel Visual Basic ワークシート関数と同等 ------------------------------------------------------------------- ABS() Abs 関数 ATAN() Atn 関数 CHAR() CHR 関数 CODE() ASC 関数 COS() Cos 関数 DATE() DATESERIAL 関数 ERROR。TYPE() ERR 関数 EXACT() STRCOMP 関数 EXP() Exp 関数 INDIRECT() 直接同等ではない - Range、 Cells、Offset、またはその他のセルの参照方法 使用します。INFO() 直接同等ではありません - ISBLANK() ISEMPTY 関数次の: CURDIR 関数を使用します Application プロパティ (MEMORYTOTAL, MEMORYUSED, MEMORYFREE, VERSION, OPERATINGSYSTEM, CALCULATION, COUNT)) ISBLANK() ISEMPTY 関数を使用します ISREF() TYPENAME 関数 LEN() LEN 関数 LOWER() LCASE 関数 N() N() No equivalent (none needed) NA() No equivalent - use ActiveCell.Value = "#N/A" RAND() RND 関数 RANDOMIZE() Randomize 関数 SIN() Sin 関数 SIGN() Sgn 関数 SQR() Sqr 関数 SQRT() Sqr 関数 T() TAN() Tan 関数同等の (必要なし)) TODAY() DATE 関数 TRUNC() FIX 関数 TYPE() TYPENAME 関数 UPPER() UCASE 関数 VALUE() VAL 関数注: Microsoft Excel ワークシート関数と Visual Basic の同等の演算子または関数は、常に同じ方法で計算されるとは限らず、同じ名前であっても異なる結果が得られます。計算の速度と柔軟性を向上させるためには、Visual Basic 同等の演算子または関数を使用することをお勧めします。 さらに、Visual Basic 演算子または関数は、Microsoft Visual Basic for Applicationsを使用するすべてのアプリケーションで使用できます。上記の一覧に示した Visual Basic 演算子または関数を使用することをお勧めしますが、必要に応じて Visual Basic マクロでワークシート関数を使用するための別の方法があります。 たとえば、Visual Basic マクロの ATAN ワークシートは、ExecuteExcel4Macro または Evaluate 関数を使用して使用できます。 x = Application.ExecuteExcel4Macro("Atan(12)") -or- x = Application.Evaluate("Atan(12)")

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。