VBAで「WorksheetFunction」プロパティを使用してワークシート関数を使う事が出来ます。
VlookupやCountifなど、元々ある機能を使用することでマクロの動作をシンプル且つ効率的に出来ますので、是非覚えましょう。
種類も豊富で便利なので使い方を覚えたい所ですが、関数の知識が無ければ上手く活用するのは難しいでしょう。
「VBAの勉強はしたけど、関数は全然知らない!」という方は、先に関数について学習する事をおすすめします。
ワークシート関数とは?
ワークシート関数とは、Excelのワークシート上で利用できる関数の事を指します。
関数が分からない方向けに説明しますと、
Excelでは関数を使用してシート上で各種計算や文字列の操作等の様々な機能を呼び出す事が出来ます。
Worksheetfunctionプロパティを使用することでその機能をVBAでも使用出来ます。
関数について別の記事で解説していますので、分からない方はこちらの記事をご参照ください。
ワークシート関数を全て使用出来る訳ではない
基本的にVBAで同じ事が出来るか、使う必要がない関数については使用が出来ません。
文字列の操作や日付関連の関数は使えないものが多いようです。
では使える関数を確認する方法ですが、入力時の候補から探すのが一番簡単です。
VBEのコード画面で「WorksheetFunction.」を入力すると候補が自動で表示されます。
最後の「.(ピリオド)」を入力するとこのように候補が出力されます。
出力されない場合はスペルミスの可能性がありますので確認しましょう。
候補内にある関数名はVBAでも使用出来る関数で、候補に無い関数はVBAで使用出来ない認識で問題ありません。
ピリオドを打った状態では使用可能な関数が全て表示されてしまう為、関数名がわかるようであれば続けて関数名を入力していくとそれに合わせて候補を絞ってくれます。
候補の中から入力中のコードへ関数名を反映するには、反映したい関数名にカーソルを合わせたあと、Tabキーを入力すると関数名が反映されます。
Excelのヘルプからでも使える関数を調べる事が出来ますが、コード画面で候補に出てくるかどうかを確認したほうが圧倒的に早いです。
ワークシート関数を知らない人がつまづく問題
冒頭で関数の知識が無ければ活用するのが難しいとお伝えしましたが、その理由は引数にあります。
VBE内でワークシート関数を使用する場合は、引数名が「Arg1,Arg2,Arg3」のように表示されます。
引数分の「Arg○」が表示されますが、引数に何を渡せば良いかは全く教えてくれません。
関数を使用した事が無い人が見ると、確実に頭の上にクエスチョンマークが現れます。
これを解決するには下記のどちらかで都度調べるしかありません。
- 実際にワークシートに関数を入力してみる。
- ネットで関数を調べる
ワークシートに関数を入力すると引数に何を渡せば良いのか表示してくれます。
関数の知識が無くても使えない事はありませんが、ある方が圧倒的に有利です!!
まとめ
非常に便利なワークシート関数ですが、VBAで使うにはある程度の関数の知識が必要になります。
関数の使い方を知らなければ、その作業を関数で出来る事もわかりませんよね。
VBAの勉強は始めたけど関数は放置しているという方は、どんな関数があるかだけでも把握しておきましょう!!
関数の一覧はこちらのページに記載してあります。
コメント