【Excel VBA入門】VBA関数とは|エクセル マクロ

文法編

マクロでもエクセル関数を使うことができることをご存じでしょうか?

もしマクロでもエクセル関数を組み込んでみたいという場合は、こちらでご紹介するVBA関数の使い方を参考にしてみてください。

VBA関数とは

VBA関数とは「VBAでつかう関数」のことです。

エクセルのセルにつかわれている関数のことを「ワークシート関数」と呼びます。
たとえば、SUM,IF,COUNT,MAXなど…どれもよくご存じではないでしょうか?

VBA関数は、そのVBAバージョンといった考え方です。

VBA関数の使い方

VBA関数にはたくさんの種類がありますが、その中でもとくに代表的なものを例にご紹介します。

MsgBox “ここにメッセージを表示させたい内容を記述”

具体的なコードでの使い方はこちら。

    MsgBox(Range("A1").Value)

もしセルA1に「おはよう!」と入力がされていたら、このような画面がでてきます。

まずはじめはこれだけは覚えておけばいいと思います。
他にもたくさんの種類のVBA関数がありますが、今はあとまわしにしましょう。

VBAでつかうワークシート関数

「VBAでワークシート関数をつかう?」ってどういうことでしょうか。
わかりにくい表現になっていますので、具体例をつかってご説明をします。

このような記述をしてワークシート関数を呼び出します。

Application.WorksheetFunction.(ここにワークシート関数を入力)

具体的なコードはこちら。

    MsgBox (Application.WorksheetFunction.Max(Range("A1:A5")))

では、こちらに例のマクロを実行したら結果はどうなるでしょうか?

こちらが結果です。
「MAX関数」がつかわれているので範囲内での最大値「8」が表示されました。

さっそく、さきほどご紹介した「MsgBox関数」と組み合わせてみました。
「VBA関数」のつかいかたをご理解いただけましたでしょうか?

まとめ

VBA関数の使い方をご紹介いたしました。

ワークシート関数とおなじでVBA関数にもたくさんの種類があります。
「VBAで関数を記述する」だけではなく「ワークシート関数のセルを参照する方法」でもおなじような結果を得られます。

慣れないうちはVBA関数をがんばって使おうとはせずに、ワークシート関数で表現できないかを考えてみましょう!