pickup
初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格
 

何かと仕切りの高いクラスモジュールですが、マスターしたい気持ちも駆られて頑張っています。

以前に紹介した、ExcelVBA 実践のための技術を熟読した結果です。

目次

スポンサーリンク

クラスモジュールのプロパティ

 

こんにちは。伊川(@naonaoke)です。

何かと仕切りの高いクラスモジュールですが、マスターしたい気持ちも駆られて頑張っています。

以前に紹介した、ExcelVBA 実践のための技術を熟読した結果です。

 

クラスモジュールを勉強していますが、なかなか難しいです。

派手なアクションを求めるより、基礎も勉強しようと思い、下記の書籍を熟読しました。

わずかな行数ですが、こんなにも奥が深いのかと思う内容でした。

少しだけまた、理解が深まり、うれしい気持ちになっています。

 

VBAを実行しても、本当にカンタンな内容です。

わざわざ、クラスモジュールを使う必要がない内容です。

 

はっきり言ってつまらないです。

 

しかし、このつまらない内容に、クラスモジュールで、プロパティの設定、呼出が詰まっています。

 

スポンサーリンク

このブログはこんな人にお勧め

今回のテーマ
  • ExcelVBAを勉強している人
  • クラスモジュールが何か理解できていない人
  • クラスモジュールを利用して、かっこいいコードを書きたい人

このブログを、読み終わるころには・・・・

 

このブログの結論
ExcelVBA 実践のための技術の9章にクラスモジュールの記載があります。
いきなり、読んでも多分理解できません。
もし、ExcelVBA 実践のための技術を持っているなら、このブログを読んだ後に、
もう一度、ExcelVBA 実践のための技術9章を読み返していただくと、理解できるかもしれません。

 

スポンサーリンク

クラスモジュールのプロパティの設定

 

クラスモジュールに関しては、作成者側で、自由にプロパティを設定できます。

この、プロパティを設定できる、有難味を理解できないと、クラスモジュールを勉強する意欲がわかないです。

この、有難味を理解できるまで、勉強を続けるつもりです。

Excelに、自由にプロパティを設定できるなんて、夢のような話ですね。

Rangeは、ご存じの通り、Rangeプロパティです。

クラスモジュールから、Rangeの兄弟ができるのです。

プロパティを設定・呼出 作業手順 その1 実行したいこと

たったこれだけのことです。

Range(“B1”)=Range(“A1”)と記載すれば、それで終了です。

しかし、このRange(“B1”)=Range(“A1”)を、クラスモジュールに実行するに当たり、とても重要なことを含んでいます。

プロパティを設定・呼出 作業手順 その2 クラスモジュールのコード

 

このようなコードになります。

ExcelVBA 実践のための技術を、読んだときもそうですが、同じような言葉が、沢山あります。

Naosuke
ここが、複雑というか、なんだこれ?と思った瞬間です。
今回のクラスモジュールに関して説明します。

tenkiP⇒これが一番重要で、プロパティを設定します。(PはプロパティのP)

tenkigo⇒転記を実行する関数のような働きをします。(goは、実行するという意味合いのgo)

tenkiA⇒tenkiPに値を代入する引数てきな役割をします。(Aは、argument(引数)のA)

 

ここの理解をしてほしいです。

この理屈を理解しないと、クラスモジュールに関しては、単純にコードが長いと思い、面倒になると思います。

プロパティを設定・呼出 作業手順 その3 標準モジュールのコード

 

F8で、実行すると、理解できると思います。

プロパティを設定して、プロパティを呼び出すということになります。

プロパティを設定・呼出 作業手順 その4 プロパティの設定とは?

この、tenkigo しか見えないのがミソです。

 

このPublic Property Letでは、作成者が、自由にプロパティを設定できるのです。

そして、外部から、tenkiP = tenkiAの、秘密は保持されます。

Naosuke

これが、カプセル化というものでしょうか?多分?

師匠がいないので、申し訳ないです。

 

 

 

 

クラスモジュールを勉強している人へ

このブログで何度か紹介していますが、クラスモジュールを勉強するには、下記の書籍がお勧めです。

クラスモジュールが書籍化されている、数少ない本です。

 

また、クラスモジュールを理解するには、オブジェクト指向という考え方も必要です。

Naosuke
何度も読まないと、多分理解できないと思います。
しかし、VBAを勉強していくには、良書です。
ご視聴者様からのコメント
動画投稿お疲れ様です。
間違ってるやんとコメントした本人です(笑)
まず初めに私は伊川さんのアンチではなくファンの一人だと言っておきます。
息抜きに拝見し、楽しませていただいております。クラスモジュールの理解のヒントになるかはわかりませんが、
例えばWorkSheetFunctionてあるじゃないですか。
エクセルの関数を使えるやつですけど、あれってWorkSheetFunctionクラスなんですよね。
WorkSheetFunctionの関数使うときWorkSheetFunction.〇〇って書くじゃないですか。
これってクラスモジュールを使うときに似てますよね。
ほかのいろんなメソッドやプロパティも親オブジェクトを省略できるのでわかりづらいかもしれませんがこういう構造になっていますよね。普段はExcelで初めから用意されているクラスモジュールのメソッドやプロパティを使っているようなものなのです。
クラスモジュールというのはメソッドやプロパティを自分の好きなようにカスタマイズできるということなのです。
ですから、前の動画で単価×数量のクラスモジュールを紹介していましたが、使い方は別に間違っておりませんがインスタンスなどの考え方が間違っております。
インスタンスによって生成されるクラスモジュールは単価と数量というプロパティを持ち、二つをかけるというメソッドを持った計算機です。インスタンスによってその構造は変わりません。セットしたプロパティが変わることでメソッド実行時の結果が変わるだけです。

私もまだ勉強中ですが一応このような感じで理解しております。
次の動画も楽しみにしてます。長々とすみません。

Naosuke
私お説明が間違っているとご指摘いただいた、ご視聴様からのコメントです。

確かにインスタンスを、単価と数量と言っていました。

ご指摘ありがとうございました。

ここがポイント

ここがポイント
Function8.png
ExcelVBA 実践のための技術は、クラスモジュールを記載している、数少ない書籍です。
とても分かりやすく、記載されていますが、クラスモジュールを初めて読む人には難しいと思います。
9章では、生徒の名簿をサンプルにクラスモジュールを実行します。
でも、今回紹介した、部分を理解していないと、流し読みになる可能性があります。
カッコよくコードを書きたい人は、是非一読してみてください。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

前回の動画で、間違いを指摘されました。

しかし、私のファンの方のようです。

クラスモジュールを勉強するのは、孤独な道のりですが、頑張りたいと思います。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No277です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格

 

スポンサーリンク

Twitterでフォローしよう

おすすめの記事