Maybe you can use a tiny userform.
I created a little one with only a textbox on it.
This was the code behind the textbox.
Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Static keyCtr As Long
Select Case KeyAscii
Case 48 To 57 'Numbers 0-9
keyCtr = keyCtr + 1
ActiveCell.Value = ActiveCell.Value & Chr(KeyAscii)
If keyCtr = 4 Then
If ActiveCell.Column > 6 Then
Cells(ActiveCell.Row + 1, 1).Activate
Else
ActiveCell.Offset(0, 1).Activate
End If
'clean up data in new cell?
'ActiveCell.ClearContents
keyCtr = 0
KeyAscii = 0
Me.TextBox1.Value = ""
End If
End Select
End Sub
Next cell to me meant the cell to the right--until I finished with column
F--then back to column A of the next row.
and I had to have a macro to show the userform.
Option Explicit
Sub testme01()
UserForm1.Show
End Sub
Not sure if you want/need the .clearcontents line. It might be safer just
telling the user to empty the cells they need to change first.
If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm