このブログを読んでいるVBA使いのあなたにとっては、標準モジュールなんて親の顔より見慣れたモジュールだと思います。
ところがクラスモジュールとなると、せいぜい叔父さんか、親族の葬式でしか見たことない、得体の知れない親戚程度の認識しかないという人もいると思います。
なんとなーく見たことあるけど、何者か分からない…
VBAに慣れている人でも、得体の知れない存在、それがクラスモジュールです。
クラスモジュールとは何者なのか?
結論から言うと、可読性を高めるための便利アイテムです。
つまり可読性を気にしないのであれば、使う必要の無い代物です。
ご存じのとおり、Typeステートメントでユーザーが定義するプロパティをまとめることが出来ます。
…と言っても、クラスモジュールを理解していない人はTypeステートメントなんてご存じじゃないのは分かっています。
だって、TypeとかEnumとか使っている人は、放っておいてもクラスモジュールにはたどり着くから。こんなしょうもない記事をここまで読まないわけです。
だから、この記事を読んでいる層はTypeもEnumも知らん、というレベル感を想定して記事を書いていきます。
・Typeとは、プロパティをまとめておくもの
・Enumとは、定数をまとめておくもの
これくらいの理解でOKです。
そして、クラスモジュールとはメソッド、プロパティ、ユーザー定義関数をまとめておくもの
というものです。
まとめておくという考え方は、ここまでVBAを学習している人でも初めて出会う概念です。
そして、別にまとめなくても(バラバラでも)、VBAは使えるというのが厄介なのです。
覚えると便利だけど、覚えなくても大丈夫
それがType、Enum、クラスモジュールを覚えることを阻害しているんですね
で、クラスモジュールを覚える必要はあるか?という質問は非常に難しい。
なぜなら、クラスモジュールを使わないと実現出来ない処理は無いから。
でも、マクロを壊れにくく、強固にするにはクラスモジュールを使うと非常に便利という側面もある。
鉄骨鉄筋コンクリートで出来ているマンションを、オリハルコンに作り替える価値はあるか?というと、あるかもしれないし、無いかもしれない。
それくらいの位置付け