|

|
|
 |
10.16 セルが選択されたとき |
 |
|
|
|
|
|
ワークブック内にあるいずれかのワークシートで、どこかのセルが選択されたとき何かをしたいことはありませんか?例えば、触っちゃいけないセルだったら追い出すとか…。
そんなときは、ワークブックのイベントWorkbook/SheetSelectionChangeイベントへマクロを書いておけばOKです。
|
|
|
|
|
|
|
|
|
|
Workbook/SheetSelectionChangeの使用例です。例では、現在選択しているワークシート上で選択したセルの背景色と文字色をデタラメに変えています。こんなことをされては、ほんと大迷惑です(汗)
ちなみに、引数のShが、ワークシートなど現在選択している何者かを表すオブジェクトです。選択されたセルは、引数Targetで参照できます。なお、TargetはRange型です。
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
|
※このエクセルマクロはワークブックのイベントへ書くマクロです
|
|
|
|
|