ダブルクリックなどユーザーが何らかの操作をしたときに、その操作に応じてイベントが発生するようにすると、更に操作性を高めることができます。これを指定するには、Worksheetモジュールと呼ばれるモジュールにコードを記述します。VBエディタ上のプロジェクトエクスプローラで、 Microsoft Excel Objects - Sheet1(sheet1)を選びます。デフォルトでは(General)というオブジェクトになっていますが、ドロップボックスからWorksheetを選びます。ここではダブルクリックに対するイベントを操作しますので、右上のプロシージャボックスの中から、BeforeDoubleClickを選びます。このプロシージャの中に記述したコードがダブルクリック時に実行されます。下の例では、セルが空でない場合ColorIndexを6(黄)に指定しています。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'ダブルクリックしたセルが空で無い場合 If Target.Value <> "" Then 'セルの色を黄色に指定 Target.Interior.ColorIndex = 6 End If End Sub |
上の例では、色が黄色になったまま元に戻せなくてちょっと不便です。そこで、ColorIndexが既に6になっているセルをダブルクリックした場合のイベントを追加すると、もう少し使い勝手が良くなります。下の例ではColorIndexをxlNoneにすることで、色をはずしています。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'ダブルクリックしたセルが空で無い場合 If Target.Value <> "" Then 'セルの色を黄色に指定 If Target.Interior.ColorIndex <> 6 Then Target.Interior.ColorIndex = 6 '既に黄色になっている場合は色をはずす Else Target.Interior.ColorIndex = xlNone End If End If End Sub |
0 件のコメント:
コメントを投稿