As we discussed earlier, each worksheet (sheet object) has a code window to handle events. You can quickly access that code window by right-clicking the worksheet’s tab and selecting the View Code
:
Worksheet_BeforeDoubleClick Event Procedure
Excel detects when a cell is double-clicked and fires the Worksheet_BeforeDoubleClick
event. This event doesn’t occur when the user double-clicks the border of a cell. The Worksheet_BeforeDoubleClick
event procedure has two parameters, Target
and Cancel
:
Target
It is theRange
object which represents the cell that was double-clicked.Cancel
By default, double-clicking a cell puts it into edit mode. You can halt this default behavior by assigning theTrue
value to theEdit
argument.
Disabling default behavior of the double click:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True End Sub
Displaying the address of the double-clicked cell:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox (Target.Address) End Sub
In the following example, double-clicking a cell toggles the font-weight. If Normal, it makes it Bold. If the font is bold, it applies the Normal font-weight:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Font.Bold Then Target.Font.Bold = False Else Target.Font.Bold = True End If 'Prevent default double-click action Cancel = True End Sub
You can write the above code in more simplest and readable form:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Target.Font.Bold = Not Target.Font.Bold Cancel = True End Sub
Worksheet_BeforeRightClick Event Procedure
The BeforeRightClick
event is similar to the BeforeDoubleClick
event except that it consists of right-clicking a cell. Excel displays a shortcut menu when the user right-clicks in a worksheet. Before the shortcut menu displayed, the Worksheet_BeforeRightClick
event occurs. You can use this event to disable the shortcut menu, customize it (by adding or removing the menu items in it) or format the cell before displays to the user.
The Worksheet_BeforeRightClick
event procedure has two parameters, Target
and Cancel
:
Target
It is theRange
object which represents the cell that was double-clicked.Cancel
By default, right-clicking a cell pop-ups the shortcut menu. You can halt this default behavior by assigning theTrue
value to theEdit
argument.
Disabling default behavior of the right click:
Private Sub Worksheet_BeforeRightClick (ByVal Target As Range, Cancel As Boolean) Cancel = True End Sub
Displaying the address of the right-clicked cell:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) MsgBox (Target.Address) Cancel = True End Sub
In the following example, right-clicking a cell toggles the font-weight. If Normal, it makes it Bold. If the font is bold, it applies the Normal font-weight:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Target.Font.Bold = Not Target.Font.Bold Cancel = True End Sub