10.11 ワークシートがダブルクリックされたとき
ワークブック内にあるいずれかのワークシート(のセル)がダブルクリックされた(入力状態になった)ときに何かをしたいことはありませんか?たとえば、入力時だけ文字を大きくしてあげるとか、シート毎に入力に制限をかけたりとか…。

そんなときは、ワークブックのイベントWorkbook/SheetBeforeDoubleClickイベントへマクロを書いておけばOKです。
使用例
Workbook/SheetBeforeDoubleClickの使用例です。例では、ダブルクリックされた何者かがワークシート(のセル)だったとき、そのセルの背景色を変えています。てことは、いじろうとしたセルが見え見えになってしまいます。かなりウザイですね(汗)

ちなみに、引数のShが、ワークシートなどダブルクリックが発生した何者かを表すオブジェクトです。

ダブルクリックされたセルは、引数Targetで参照できます。なお、TargetRange型です。それと、引数のCalcelTrueを設定すると入力状態が取り消しされ、入力を制限することができます。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object _
                                          , ByVal Target As Range _                                           , Cancel As Boolean)

    On Error GoTo ExitProc:

    Dim lngType As Long
    Dim i As Long

    'Excel 5.0ダイアログだと
    'ここでエラーが出るんですけど…(汗)
    'そのために、On Error…入れてます
    lngType = Sh.Type

    '他に、xlChart、xlExcel4MacroSheetなども判断できます
    'ダブルクリックが行われた何者かがワークシートのときは処理します
    If lngType = xlWorksheet Then
       
       'ダブルクリックしたセルの背景色を変えます。
       Target.Interior.ColorIndex = 35
    
    End If

ExitProc:

End Sub
 ※このエクセルマクロはワークブックのイベントへ書くマクロです
Copyright(C) 1999-2006 結城圭介。 All rights reserved