VBAのActivateイベント

こちらでは、エクセルVBAのActivateイベントの解説になります。

イベントとはオブジェクトに対する処理や操作のことを言います。例えば、ワークシートをアクティブにした時に発生するActivateイベントやセルをマウスでダブルクリックした時に発生するBeforeDoubleClickイベントなどがあります。

オブジェクト名.メソッド名

目次

Activateイベント

Activateイベントは、ブック、ワークシート、グラフ シート、または埋め込みグラフがアクティブになったときに発生します。

構文Private Sub object_Activate()
キーワード省略説明
object×こちらは、必ず指定します。対象となる Workbook オブジェクト、または Worksheet オブジェクトを指定します。

同じブックを示す 2 つのウィンドウを切り替えると、WindowActivate イベントは発生しますが、そのブックに対し Activate イベントは発生しません。

また、新しいウィンドウを作成するときに、このイベントは発生しません。

次の使用例は、ワークシートがアクティブにされると、セル範囲 A1:A10 を並べ替えます。


Private Sub Worksheet_Activate()
    Range("a1:a10").Sort Key1:=Range("a1"), Order:=xlAscending
End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

また、Chart オブジェクトでイベントを使用する方法以下になります。

埋め込みグラフでイベントを使用する

関連項目関連項目既定の設定では、埋め込みグラフでイベントを使用できます。埋め込みグラフを表す Chart オブジェクトでイベントを使用できるようにするには、新しいクラス モジュールを作成し、イベントで Chart オブジェクト型の変数を宣言します。たとえば、"Class1" というクラス モジュールを作成します。次のコードを新しいクラス モジュールに記述します。

Public WithEvents myChartClass As Chart

新しいオブジェクト変数が宣言されると、オブジェクト変数がクラス モジュールの [オブジェクト] ボックスに表示されます。新しいオブジェクト変数をクリックすると、オブジェクトに対して有効なイベントが [プロシージャ] ボックスに表示されます。イベントをクリックして、イベント プロシージャを記述できます。

しかし、このプロシージャを実行する前に、クラス モジュールで宣言したオブジェクト変数を埋め込みグラフに関連付ける必要があります。モジュールのいずれかで次のコードを記述し、実行することによって関連付けることができます。


Dim myClassModule As New EventClassModule

Sub InitializeChart()
    Set myClassModule.myChartClass = _
        Worksheets(1).ChartObjects(1).Chart
End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

InitializeChart プロシージャを実行すると、クラス モジュールの myChartClass オブジェクトはワークシート 1 の埋め込みグラフ 1 を指します。このグラフでイベントが発生すると、クラス モジュールのイベント プロシージャが実行されます。

Excel VBAのプログラミングのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Excel2007/2003対応

立山 秀利

プログラミング初心者でもわかりやすいExcel VBAの入門書です。本書では、他言語でのプログラミング経験がない初心者でもVBAプログラミングが理解できるよう、重要な機能に焦点をしぼって、VBAのポイントとなるオブジェクトや演算子、条件分岐、ループ、変数、関数などにをやさしく解説しました。「計算ドリル」「販売管理」といったアプリケーションを作りながら、楽しくVBAを学べます。

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。