教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA ブック操作】ブック内のシートがダブルクリックされた時に発生するイベントプロシージャを作成するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    'コードの実行内容
End Sub

解説

Workbook_SheetBeforeDoubleClickイベントプロシージャは、ユーザーがシート上のセルをダブルクリックしたときに実行されます。ダブルクリックされたセルの座標や内容に基づいて、任意の処理を実行することができます。引数は以下の内容となります。

引数 内容
Sh イベントが発生したシートを表します。
Target ダブルクリックされたセルや範囲を表します。
Cancel イベントのキャンセルフラグで、Trueに設定するとイベントがキャンセルされます。

プログラミング例

以下に、ダブルクリックされたセルに対して特定の処理を実行するプログラミング例を示します。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    ' ダブルクリックされたセルの背景色を変更する
    Target.Interior.Color = RGB(255, 0, 0)
    ' ダブルクリックのデフォルトの動作をキャンセルする
    Cancel = True
End Sub

上記の例では、ダブルクリックされたセルの背景色を赤色に変更し、さらにデフォルトの動作をキャンセルしています。このように、Workbook_SheetBeforeDoubleClickイベントを使用することで、セルの内容に基づいてさまざまな処理を実行することができます。

まとめ

Workbook_SheetBeforeDoubleClickイベントプロシージャを使用すると、ユーザーがシート上のセルをダブルクリックしたときに実行されるため、様々なカスタマイズや自動化を実現することができます。