10.16 セルが選択されたとき
ワークブック内にあるいずれかのワークシートで、どこかのセルが選択されたとき何かをしたいことはありませんか?例えば、触っちゃいけないセルだったら追い出すとか…。

そんなときは、ワークブックのイベントWorkbook/SheetSelectionChangeイベントへマクロを書いておけばOKです。
使用例
Workbook/SheetSelectionChangeの使用例です。例では、現在選択しているワークシート上で選択したセルの背景色と文字色をデタラメに変えています。こんなことをされては、ほんと大迷惑です(汗)

ちなみに、引数のShが、ワークシートなど現在選択している何者かを表すオブジェクトです。選択されたセルは、引数Targetで参照できます。なお、TargetRange型です。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object _
                                        , ByVal Target As Range)

    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 = Int(Rnd * 57)
       Target.Font.ColorIndex = Int(Rnd * 57)

    End If

ExitProc:

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