You can disable that behavior by going into options > client settings > move after enter > don't move
If you want to do that programmatically, you can get the current option using:
Code:
Debug.Print Application.getOption("Move After Enter")
And you can also set that option to 0, 1 or 2 by doing this:
Code:
Application.setOption "Move After Enter", 0
You need 0, because 0 is "Don't Move"
As an alternative, you can also modify your form's properties by going into > other tab > cycle > current record
As for sendkeys, if you do this, you'll get an infinite loop, because you're basically saying "on enter, enter"
Code:
Private Sub wb_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
SendKeys "+{ENTER}"
End If
End Sub
But if you add a condition to trigger it only when the two conditions are met, then all good:
Code:
Private someCondition As Boolean
Private Sub wb_KeyDown(KeyCode As Integer, Shift As Integer)
If someCondition = False And KeyCode = 13 Then
keyCode = 0
someCondition = True
SendKeys "+{ENTER}"
End If
End Sub
SendKeys has side effects, so test it well.
If all of these fail, you'll have to use javascript, because I have no idea how to trigger a key combination without sendkeys.