Windows

VBAを使用してカスタムExcel関数を作成する方法

目次:

Anonim

Microsoft Excel Pack には、私たちにとって最大の仕事をする多くの事前定義関数が付属しています。ほとんどの場合、組み込み関数以外の関数は必要ありません。ただし、事前に定義されたExcel関数によって提供されていない機能が必要な場合はどうなりますか?

Microsoft Excelでは カスタムExcel関数 または ユーザー定義関数 VBA を使用します。必要な機能を備えたカスタムExcel関数を作成することができます。Excelシートでは、「=」に続けて関数名を使用して通常のExcel関数としてアクセスできます。

カスタムExcel関数の作成

VBAを使用してカスタムExcel関数を作成するので、最初に「開発者」タブを有効にする必要があります。デフォルトでは有効になっていないため、有効にすることができます。 Excelシートを開き、Excelボタンをクリックして、「Excelオプション」をクリックします。次に、 "リボン"の開発者タブを表示します。

Visual Basic Editorを開くには、開発者タブをタップし、Visual BasicアイコンをクリックしてVisual Basic Editor。

キーボードショートカット「 Alt + F11 」を使用してVisual Basic Editorを起動することもできます。このキーボードショートカットを使用する場合は、[開発者]タブも有効にする必要はありません。

ここではすべてがカスタムExcel機能を作成するように設定されています。 "Microsoft Excel Objects"を右クリックし、 "Insert"をクリックし、 "Module"をクリックします。

コードを書く場所であるプレーンウィンドウを開きます。

コードを書く前に、

Function myFunction(arguments)戻り値の型
myFunction = some_calculation
End Function

戻り値はありません。 `文を通常のプログラミング言語と同じように使用します。

開かれたプレーンウィンドウにコードを挿入します。たとえば、関数に提供される値の `8%`を計算する関数 "FeesCalculate"を作成します。私は値が小数でもあるので、戻り値の型を "Double"として使用しました。私のコードはVBAの構文に従っていることがわかります。

今、Excelワークブックを保存するときです。 `.xslm`の拡張子で保存し、マクロでExcelシートを使用します。

それで!

ExcelシートのUser Defined Functionを "="を使って通常のExcel関数として使用できるようになりました。

Excelカスタム関数はMicrosoft Excelの環境を変更することができないため、セル内で「=」を入力すると、作成された関数が他の組み込み関数とともに表示されます。

カスタムExcelの機能の制限

カスタムExcelの機能では、

スプレッドシートにセルを挿入、書式設定または削除することはできません

  • 別のセルの値を変更する
  • ブックの名前を変更、削除、移動、または追加する
  • このような制限がいくつかありますが、いくつか説明します。

これは、カスタムを作成するための簡単な手順ですExcel関数。