VBA – ワークシート関数の使い方(全リスト)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 8月 1, 2022

VBAで関数を使用する方法はたくさんあります。 VBAには多くの組み込み関数が搭載されており、独自の関数(UDF)を作成することもできます。しかし、Application.WorksheetFunctionを使えば、Excelのほとんどの関数をVBAで利用することも可能です。

VBAでワークシート関数を使用する方法

VBAでExcelの関数にアクセスするには、呼び出したい関数の前にApplication.WorksheetFunctionを追加します。以下の例では、ExcelのMax関数を呼び出しています。

Dim maxvalue as long
maxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

関数の構文は同じですが、関数の引数は他のVBA関数と同じように入力します。 Max関数の構文は、入力時に表示されることに注意してください。(VBAの関数と同様です。)vba worksheetfunction

WorksheetFunctionメソッド

WorksheetFunction は Application オブジェクトのメソッドです。 これは、Excelの標準的なワークシート関数のほとんど(すべてではありません)にアクセスすることを可能にします。一般に、対応するVBAバージョンを持つワークシート関数にアクセスすることはありません。 最も一般的なワークシート関数の一覧は以下のとおりです。

Application.WorksheetFunctionとApplicationの比較

これらの関数にアクセスする方法は、実際には2つあります。 Application.WorksheetFunction(上図参照)を使う場合は以下のようになります。

maxvalue = Application.WorksheetFunction.Max(Range("a1").Value、Range("a2").Value)

または、WorksheetFunctionを省略することもできます。

maxvalue = Application.Max(Range("a1").Value、Range("a2").Value)

残念ながら、WorksheetFunctionを省略すると、構文を表示するIntellisenseがなくなります。(上の画像参照。)しかし、1つ大きな利点が考えられます。エラー処理です。

Applicationを使用し、関数がエラーを発生させた場合、エラー値が返されます。 WorksheetFunctionメソッドを使用した場合、VBAはランタイムエラーを投げます。 もちろん、VBAのエラーを処理することもできますが、通常は、最初の段階でエラーを回避する方がよいでしょう。 違いを確認するために例を見てみましょう。

Vlookup WorksheetFunctionのエラー処理

一致しないVlookupを実行してみましょう。通常はその場合、Vlookup関数はエラーを返します。

まず、WorksheetFunctionメソッドを使用した場合を見てみましょう。VBAがどのようにエラーを投げているかに注目してください。

vba worksheet function error

次に、WorksheetFunctionを省略してみます。 エラーがスローされない代わりに、’value’関数にVlookupのエラー値が含まれていることに注意してください。

vba worksheetfunction error

VBAワークシート関数のリスト

VBAのWorksheetFunctionsのうち、一般的なものを以下にリストアップしました。 [テーブル id=14 /]

VBAのコーディングが簡単に

VBAのコードをオンラインで検索するのはもうやめましょう。AutoMacro – A VBA Code Builderを使えば、初心者が最小限のコーディング知識でゼロから手順をコーディングできるだけでなく、ベテランのユーザーが時間を節約するためにも役立つ多くの機能を備えています! alt text もっと詳しく

<<VBAのサンプルに戻る

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples