MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 12/20 おすすめ情報に 『 WOMAN'S VALUE AWARD【ICT部門 優秀賞】 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【VBA】標準モジュール、クラスモジュール 
profile-img
投稿者: Nakamaさん
投稿日:2020/05/26 16:48
更新日:
like-img
分類
技術
テクノロジー
システムエンジニア
キャリア
運用・保守
投稿内容


VBA作成の際、コードを書き込む場所として「標準モジュール」と「クラスモジュール」の2種類があります。

それぞれの特徴をご紹介していきます。

 

・標準モジュール

関数や変数などすべてのコードを書け、Public な定数や配列や構造体などは、標準モジュールにのみ宣言できます。

マクロとして実行できるのは、標準モジュールに宣言された Public な Sub 関数です。Public な Function 関数は、エクセルの数式から使用できます。

他のシートで同じ処理をしたい場合、標準モジュールに Public な関数で作成すると、他のシートや標準モジュールから呼び出せるようになります。

 作業を自動化したい場合などであれば標準モジュール上での作成で問題ないです。

 

・クラスモジュール

 オブジェクト指向でVBA設計したい場合に使用されるモジュールです。処理をひとまとまりにしたものをオブジェクトとして、クラスに格納されている情報を必要な時に宣言で呼び出して使用します。使いこなせるようになると、変数の書き換えを制限したり、引数の削減できたり、メンテナンス性に優れ、見やすいコードが書けるようになります。カプセル化をイメージすると理解しやすいかもしれません。その他、オブジェクト指向のプログラミング言語としてPythonRubyPHPなどがあります。

ExcelVBAでは基本的に標準モジュールと関数で事足りますが、プログラミングの上達をVBAで目指している方はクラスモジュールでマクロ作成してみてはいかがでしょうか。

 

以上、「標準モジュール」と「クラスモジュール」のご紹介でした。

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3