【VBA講座】VBAで使用できる関数の種類について

VBAで使用できる関数には
 ・「VBA関数」
 ・「ワークシート関数」

の2種類があります!
※ユーザー定義関数(自分で作成する関数)もありますが。

PR

「VBA関数」とは

「VBAが提供している関数」です。

具体的には以下の公式ページに記載されている関数です。

VBA関数
VBA関数



以下のように使用します。

VBA関数の使用例(例:Abs関数)
PR

「ワークシート関数」とは

「ワークシートで使用できる関数」です。

ワークシートで使用できる関数(例:SUM関数)
ワークシートで使用できる関数(例:SUM関数)


「ワークシートで使用できる関数」は、VBAでも使用できます。

具体的には「WorksheetFunction」オブジェクトのメソッドです。

「WorksheetFunction」オブジェクトのメソッド(例:SUMメソッド)
「WorksheetFunction」オブジェクトのメソッド(例:Sumメソッド)



「ワークシートで使用できる関数」のほとんどの関数は、「WorksheetFunction」オブジェクトのメソッドに存在します。
※一部存在しないものもあります。


以下のように使用します。

「WorksheetFunction」オブジェクトのメソッドの使用例(例:Sumメソッド)
「WorksheetFunction」オブジェクトのメソッドの使用例(例:Sumメソッド)
PR

「VBA関数」と「ワークシート関数」の両方に存在する関数

紛らわしいですが
 ・「VBA関数」と「ワークシート関数」の両方に存在する関数
があります。

例えば「ROUND関数」です。
※「ROUND関数」は四捨五入をする関数です。

●「VBA関数」の「ROUND関数」


●「ワークシート関数」の「ROUND関数」
※「WorksheetFunction」のRoundメソッド


さらに紛らわしいですが
 ・「VBA関数」の「ROUND関数」と
 ・「ワークシート関数」の「ROUND関数」は
挙動が微妙に違います。
※違いについては別の記事に記載したいと思います。

PR

参考(ステートメント)について

関数との違いはあまり無いですが、VBAには「ステートメント」と呼ばれるモノもあります。
※ファイルを開くための「Openステートメント」等。

具体的には以下の公式ページに記載されているモノです。


上記のページには「財務諸表」と記載されていますが、これは翻訳が不適切です。

英語版の当該ページを見ると「Statements」となっています。

公式サイトの「ステートメント」のページ(日本語版)
公式サイトの「ステートメント」のページ(日本語版)
公式サイトの「ステートメント」のページ(英語版)
公式サイトの「ステートメント」のページ(英語版)


「これは関数なのか?それともステートメントなのか?」を気にする必要は無いです。
※気にしなくても特に問題は無いと考えるため。
※気にしても特に良いことも無いと考えるため。

ただ知識として
 ・VBAには「関数」と「ステートメント」が存在する
ということを知っていれば良いです。

タイトルとURLをコピーしました