ต้องขออภ้ยอาจารย์ด้วยครับ

ที่ผมกล่าวอ้างอิงอาจารย์เพราะต้องการให้เครดิตกับอาจารย์ หากผิดพลาดประการใด ต้องขออภัยอาจารย์ด้วยครับ

ส่วนการใช้ Event Selection Change มาช่วยตรวจสอบ เดี๋ยวผมจะลองเขียนโค้ดดูครับ
แต่ผมมีปัญหาเกี่ยวกับการให้แทนค่าจุด (.) ตรง Keypad ให้เป็นค่าศูนย์ แต่เมื่อผมเขียนโค้ดแล้ว รันดูก็ไม่ได้ โดยโค้ดมีดังนี้
Option Explicit
Dim i As Long
Sub KeyEventOn()
For i = 96 To 105
Application.OnKey "{" & i & "}", "'EnterToNextCell """ & i & """'"
Next i
If (i = 46) Then
Application.OnKey "{" & i & "}", "'EnterToNextCell """ & i & """'"
End If
End Sub
Sub KeyEventOff()
For i = 95 To 105
Application.OnKey "{" & i & "}"
Next i
End Sub
Sub EnterToNextCell(ByVal KeyCode As Long)
Dim strText As String
Dim s As String
If Not TypeOf Selection Is Range Then Exit Sub
s = Chr(KeyCode)
Select Case s
Case "`": s = 0
Case "a": s = 1
Case "b": s = 2
Case "c": s = 3
Case "d": s = 4
Case "e": s = 5
Case "f": s = 6
Case "g": s = 7
Case "h": s = 8
Case "i": s = 9
End Select
strText = Selection.Value & s
Selection.Value = strText
Select Case Selection.Column
Case 3, 12
'MsgBox "2"
If Len(Selection) >= 2 Then
Application.SendKeys "{ENTER}"
End If
Case 6, 9, 15
'MsgBox "5"
If Len(Selection) >= 3 Then
Application.SendKeys "{ENTER}"
End If
End Select
End Subล
ส่วนที่เพิ่มคือโค้ด
If (i = 46) Then
Application.OnKey "{" & i & "}", "'EnterToNextCell """ & i & """'"
End If