Ako definovať udalosť OnKey pre rozsah? - excel, vba, excel-vba

Chcem definovať udalosť OnKey pre tlačidlo úniku na konkrétnych bunkách

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Value = "a" Or ActiveCell.Value = "b" Then
Application.OnKey "{ESC}", "unit"

A dostal sa popup chyby - makro nie je k dispozícii alebo je zakázané ...
Podjednotka () funguje ako samostatná procedúra.

odpovede:

2 pre odpoveď č. 1

Explicitný odkaz funguje pre mňa, skúste použiť list name.subname, ako Sheet6.unit:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Debug.Print ActiveCell.Value
If ActiveCell.Value = "d" Or ActiveCell.Value = "e" Then
Application.OnKey "{ESC}", "Sheet6.unit"
Else
Application.OnKey "{ESC}", ""
End If
End Sub


Public Sub unit()
Debug.Print "Unit!"
End Sub

Ponuka