ワークシートのイベントを追加するには
ワークシートを選択したとき、ダブルクリックしたときのイベントを取得し、特定の操作させることができます。「ワークシートを開いたときに特定のセルを選択させる」、「セルを変更したときに大文字に変える」といったことができるようになります。
イベントは 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講座
Excel VBA とは
Excel VBAとは、Excelに標準で付いているプログラミング言語です。
VBAはVisual Basic for Applicationsの略で、プログラムの構文は、Vi... |
色を設定するには(ColorIndex、Color)
色の指定方法にはColorIndexとColorの2種類があります。
セルの文字色の場合は Font に、背景色の場合は Interior に... |
VBE とは
VBE (Visual Basic Editor) とは、Excelに搭載したVBA用のエディターのことです。
VBEを起動するには、Excelの「ツール」→「マクロ」→「Visual... |