Propertyプロシージャ setの使い方 VBA
今回は、Propertyプロシージャのsetの使い方について書いていきます。setはオブジェクトをプロパティに設定するのに利用します。早速ですがクラスモジュールを挿入し、図1のようにオブジェクト名を「Class」にします。
そして、クラスモジュールに図2のように記述します。
ここでのポイントはオブジェクトを設定するので、「Property Set」になっていること、そしてプロシージャの中身が、「Set myWs = newValue」、「Set myWorkSheet = myWs」と頭にSetステートメントを用いていることです。これを忘れると動作しませんので注意してください。今回はワークシートをプロパティに設定します。
次に図3のように標準モジュールにプログラムを記述します。
図3のプログラムは、インスタンスを生成した後にプロパティを設定するのですが、ここで注意が必要です。ここでもオブジェクトを格納するので、
「Set cl.myWorkSheet = Worksheets(“Sheet1”)」
とセットステートメントを忘れずに記述します。
そして図2のクラスモジュールに「isFillCell」というサブプロシージャを用意しました。このサブプロシージャはプロパティで設定されたシートの指定セルに「Tokyo」、「Nagoya」、「Osaka」と入力します。これを図3の標準モジュールの最後で実行しています。
結果は「Sheet1」のセルに「isFillCell」で設定した値が代入されます。
今回のようにプロパティプロシージャでオブジェクトを扱う際には、ちょっとした注意が必要になります(すみません、今回はコンストラクタを入れていません)。
ワークシートやブックをプロパティに設定できるようになると、クラスモジュールの利用の幅が広るのでぜひ試してみてください。