初心者オサムシがExcelのマクロと戦う戦闘ブログである
by オサムシ
イベントプロシージャ/マクロ基礎

イベントプロシージャ/マクロ基礎


ディテールを無視して一足飛びにアップしてますけど、まずはサラっと全体を流して、あとから少しずつポイントを絞り込んでいこうなどと思っております。

何しろ自分の為の記事だから何をやっても自由なのだ

語りかけ口調だけど、すべては自分に言っているんだよね

それではイベントプロシージャを語ってみよう

イベントプロシージャもマクロの一つと言ってよいと思うのだが、扱い方はちょっと違う

ここで言うイベントとは、オブジェクトに対して、何かが起こる事を「イベント」「イベントが発生した」などと言う

例えば、ワークシートがアクティブになったら「WorksheetsオブジェクトにActivateイベントが発生した」となるわけだ。

プロシージャは「SubからはじまりEnd Sub終わる」一つの命令文の単位をいう

じゃマクロとイベントプロシージャの違いはなんだろう

通常のマクロは、マクロの実行を意図的に行った時に動作する

イベントプロシージャは文字通り、イベントが起こった時に自動的に実行されるのだ

イベントプロシージャの構文概要はこうなる

Sub オブジェクト名_イベント 'オブジェクトとイベントをアンダーバーでつなげる
実行する内容を記述
End Sub


どんなイベントをトリガにできるのかリストを作ってみた

ワークシートに対するイベント/Excel マクロ

それでは実際に書いてみよう
Private Sub Worksheet_Change(ByVal Target As Range) 'Chengeはシートのセルが変更されると起こるイベント
MsgBox "シートが変更されました"
End Sub

イベントを起こしてみよう

任意のセルに「変更前」と入力した後、上記イベントプロシージャを保存する
d0285354_19225912.jpg


イベントを起こすため、「変更前」を「変更後」に変更する
d0285354_1923117.jpg


イベントが発生したのでメッセージボックスが表示された
d0285354_19231889.jpg


「マクロを実行」しなくても、イベントを起こすことによって、マクロが実行された。

う~んコレは便利。osamushi

オサムシじゃーなる
[PR]
by 03musi | 2012-12-15 19:31 | マクロ 基礎
<< 繰り返し 〜For〜/マクロ基礎 if (イフ)/マクロ基礎 >>