透2017/11/272019/4/28関数って使っていますか?VBAには関数といって挙げられるものが、大きく分けて3つあります。VBA関数、ワークシート関数、そしてFunctionプロシージャを使って作る関数です。この記事では、関数について関数とはなど基本的な内容から、ワークシート関数の使い方VBA関数一覧Functionで関数を作る方法など具体的な内容についても解説していきます。まとめ関数とは冒頭でもお伝えしましたが、VBAには関数といって挙げられるものが、大きく分けて3つあります。VBA関数、ワークシート関数、そしてFunctionプロシージャを使って作る関数の3つです。Basicで用意されている関数が元となっていてVBAで使う関数のことです。ワークシート関数は、Excelのワークシートのセルに数式として入力する関数のことです。VBAではFunctionプロシージャを使って、自分で関数をつくることもできます。今回はこれらの関数について、詳しく解説していきます。ワークシート関数の使い方VBAでも、ワークシート関数を扱うことができます。VBAのコード内でワークシート関数を呼び出す場合やExcelのワークシートのセルにワークシート関数を入力する場合などです。それぞれの場合について、詳しく見ていきましょう。ワークシート関数を呼び出す方法VBAからワークシート関数を呼び出すには、ApplicationオブジェクトのWorksheetFunctionプロパティを使います。Application.WorksheetFunction.ワークシート関数サンプルコードで確認しましょう。Sub画像:実行結果このサンプルコードでは、ApplicationオブジェクトのWorksheetFunctionプロパティを使ってワークシート関数のSUMを呼び出しています。ワークシート関数をセルに入力する方法ワークシート関数をセルに入力することもできます。RangeオブジェクトのFormulaプロパティを使います。セルを参照する形式によって使うプロパティが異なります。セルの参照形式には"A1"のように、列をアルファベットで、行を番号で表すA1形式と"R1C1"のように行(ROW)をRと行番号、列(COLUMN)をCと列番号で表すR1C1形式があります。A1形式で数式を入力する場合はFormulaプロパティを、R1C1形式で数式を入力する場合はFormulaR1C1プロパティを使います。数式を入力する記述は以下のとおりです。“=数式”サンプルコードで確認しましょう。Sub画像:実行結果このサンプルコードでは、RangeオブジェクトのFormulaプロパティとFormulaR1C1プロパティを使って、セルにワークシート関数を入力しています。ワークシート関数の使い方について、VLookup関数の使い方をこちらで詳しく解説しています。2019年4月3日VBA関数一覧VBAには様々な関数が用意されています。用意されている関数をアルファベット順に一覧にまとめてみました。どのような関数があるのか、確認しておくとよいでしょう。リンクしているサイトで使い方を詳しく解説していますので、ぜひ参考にしてください。指定した日付の年を返すFunctionで関数を作る方法Functionプロシージャを使って、自分で関数を作ることもできます。Functionプロシージャの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。2019年9月26日まとめここでは、関数について説明しました。VBA関数、ワークシート関数、Functionプロシージャを使いこなせれば、便利な関数を簡単に使えて、できることが増えてくるのではないかと思います。使いこなすことができるように、この記事を何度も参考にして下さいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。お問合せはこちらでも受け付けています。