|

|
|
 |
10.11 ワークシートがダブルクリックされたとき |
 |
|
|
|
|
|
ワークブック内にあるいずれかのワークシート(のセル)がダブルクリックされた(入力状態になった)ときに何かをしたいことはありませんか?たとえば、入力時だけ文字を大きくしてあげるとか、シート毎に入力に制限をかけたりとか…。
そんなときは、ワークブックのイベントWorkbook/SheetBeforeDoubleClickイベントへマクロを書いておけばOKです。
|
|
|
|
|
|
|
|
|
|
Workbook/SheetBeforeDoubleClickの使用例です。例では、ダブルクリックされた何者かがワークシート(のセル)だったとき、そのセルの背景色を変えています。てことは、いじろうとしたセルが見え見えになってしまいます。かなりウザイですね(汗)
ちなみに、引数のShが、ワークシートなどダブルクリックが発生した何者かを表すオブジェクトです。
ダブルクリックされたセルは、引数Targetで参照できます。なお、TargetはRange型です。それと、引数のCalcelへTrueを設定すると入力状態が取り消しされ、入力を制限することができます。
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
|
※このエクセルマクロはワークブックのイベントへ書くマクロです
|
|
|
|
|