ワークシートのイベントを追加するには

ワークシートを選択したとき、ダブルクリックしたときのイベントを取得し、特定の操作させることができます。

「ワークシートを開いたときに特定のセルを選択させる」、「セルを変更したときに大文字に変える」といったことができるようになります。

イベントは Worksheet_イベント名 のように書きます。

これは、VBE(エディタ)の上部にある(Genaral)でWorksheetを、(Declarations)でOpenを選択することで同じ記述が自動で行われます。

イベントによって引数の書き方が違うので、自分で書かずに(Genaral)(Declarations)から選択してください。

ワークシートを選択したときのイベント
Private Sub Worksheet_Active ()
・・・
End Sub


セルを変更したときのイベント
Private Sub Worksheet_Change (Target As Range)
・・・
End Sub


ワークシートを選択したときに特定のセルを選択するサンプル

Cells(1,1).Select でセルA1を選択しています。
Private Sub Worksheet_Open ()
    ' A1を選択
    Cells(1,1).Select
End Sub


セルを変更したときに大文字に変えるサンプル

引数にもある Target は変更されたセル範囲になります。
Ucase(Target) で大文字に変更しています。

Application.EnableEvents でイベントの抑制を制御します。

これがないと、Ucaseでまた Worksheet_Change が発生して、無限ループになってしまいます。
初めにFalseでイベントの抑制を開始させています。

また、最後にTrueでイベント抑制を解除しています。

これがないと、Worksheet_Change が発生しなくなります。
False のあとは True を設定するようにしてください。
Private Sub Worksheet_Change (Target As Range)
    ' イベント抑制を開始
    Application.EnableEvents = False
    ' 大文字に変更
    Target = Ucase(Target)
    ' イベント抑制を解除
    Application.EnableEvents = True
End Sub


ワークブックのイベントの種類

イベント名内容
Activeワークシートがアクティブになったときに発生
BeforeDoubleClickワークシートがダブルクリックされたとき、既定の処理がされる前に発生
BeforeRightClickワークシートが右クリックされたとき、既定の処理がされる前に発生
Calculateワークシートが再計算されたときに発生
Changeワークシートのセルが変更されたときに発生
Deactiveワークシートが非アクティブになったときに発生
FollowHyperLinkワークブック内のハイパーリンクがクリックされると発生
PivotTableUpdateピボットテーブルが更新されたときに発生
SelectionChangeワークシートで選択範囲が変更されると発生




Excel VBA講座




関連リンク
セル、シート、ブックの参照や操作、
書式設定に関するサンプル集。

VBScriptの文字列、日付、ファイルの操作に関するサンプル集。



アクセスランキング


Excel VBA講座
文字操作
関連する内容
セルの参照
データ型操作


Copyright (C) Excel@Workshop All rights reserved.