8.
モジュールとイベントについて
標準モジュールは、
ワークシートのように複数用意できることは分かったと思います。 感覚的には、ワークシートの
Sheet1 や Sheet2 と同じでModule1 Module2 Module3… となります。
ワークシートのようにシートタブは表示されないので、
モジュールの選択は プロジェクトエクスプローラを利用します。
また、名前の変更は、プロパティのオブジェクト名を変更してやります。
モジュールの種類(プロジェクトエクスプローラで確認)
------------------------------------------------------------------------------------
ワークシートモジュール
シートごとに用意されています。 今「セルがアクティブになった」 今「セルが移動した」 今「セルの内容が変更された」
等と
Excelはシート上の動作(イベント)発生を常に監視しています。 このイベントの発生を利用してコードを記述できるモジュールです。
ワークシートモジュールの表示方法:
1:プロジェクトウィンドウで目的のシートをダブルクリックします。
2:モジュールが表示されるので、左のコンボボックスの値を「Worksheet」に変更します。
変更と同時に必ず、
Private Sub
Worksheet_SelectionChange(ByVal Target As Range)
End Sub
と表示されますが、
ここには「セルが移動した時」に合わせて実行されるコードを記述します。
3:イベントの種類は右のコンボボックから選択します。
例えば「Change」を選択すると
Private Sub
Worksheet_Change(ByVal Target As Range)
End Sub
と表示されます。
ここには「セルの内容が変更された時」に実行するコードを記述します。
(ByVal Target As
Range)のTargetは、 イベントが発生したセルをコード内で 扱えるようにするための変数です。
例)
Private Sub
Worksheet_SelectionChange(ByVal Target As Range) MsgBox "選択したセル番地は "
& Target.Address End Sub
ワークブックモジュール
ブック全体のイベントに対して実行したいコードを記述します。 プロジェクトのウィンドウで表示されている「ThisWorkbook」です。
標準モジュール
自動マクロやメインコードを記述します
フォームモジュール
独自のフォームを作成するときに使用
クラスモジュール
新しいオブジェクトを作成するときに使用
(バリバリのプログラマーが使います?)
------------------------------------------------------------------------------------
One Point
イベントについて プログラム上でイベントとは、何らかの動作が発生したことを意味します。 Excelでは、 セルが移動したとき、 セルの内容が書き換わったとき、 セルをクリックしたとき、 シートを切り替えたときなど
「いまその動作が行われました」という認識が行われます。
この動作の認識(イベント)を利用することにより
プログラムの幅が広がります。
|