Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrWorksheet_SelectionChange
Key_Off
If Not Intersect(Target, Range("A1:M59")) Is Nothing Then Key_On
ExitWorksheet_SelectionChange:
Exit Sub
ErrWorksheet_SelectionChange:
Resume ExitWorksheet_SelectionChange
End Sub
Option Explicit
Sub Key_On()
Application.OnKey 0, "Zero"
Application.OnKey 1, "Uno"
Application.OnKey 2, "Due"
Application.OnKey 3, "Tre"
Application.OnKey 4, "Quattro"
Application.OnKey 5, "Cinque"
Application.OnKey 6, "Sei"
Application.OnKey 7, "Sette"
Application.OnKey 8, "Otto"
Application.OnKey 96, "Zero"
Application.OnKey 97, "Uno"
Application.OnKey 98, "Due"
Application.OnKey 99, "Tre"
Application.OnKey 100, "Quattro"
Application.OnKey 101, "Cinque"
Application.OnKey 102, "Sei"
Application.OnKey 103, "Sette"
Application.OnKey 104, "Otto"
End Sub
Sub Key_Off()
Application.OnKey 0
Application.OnKey 1
Application.OnKey 2
Application.OnKey 3
Application.OnKey 4
Application.OnKey 5
Application.OnKey 6
Application.OnKey 7
Application.OnKey 8
Application.OnKey 96
Application.OnKey 97
Application.OnKey 98
Application.OnKey 99
Application.OnKey 100
Application.OnKey 101
Application.OnKey 102
Application.OnKey 103
Application.OnKey 104
End Sub
Sub Zero()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "0"
End Sub
Sub Uno()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "1"
End Sub
Sub Due()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "2"
End Sub
Sub Tre()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "3"
End Sub
Sub Quattro()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "4"
End Sub
Sub Cinque()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "5"
End Sub
Sub Sei()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "6"
End Sub
Sub Sette()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "7"
End Sub
Sub Otto()
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "8"
End Sub
|