Creo que te equivocas, el Private Sub Form_KeyPress(KeyAscii As Integer) no coge esas teclas tendras que usar el
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
dim unidades as integer
unidades = 5 ' es los puntos que sube
if keycode = 38 then ' arriba
migif.top = migif.top - unidades
end if
if keycode = 40 then ' abajo
migif.top = migif.top + unidades
end if
if keycode = 37 then ' izq
migif.left = migif.left- unidades
end if
if keycode = 39 then 'der
migif.left = migif.left + unidades
end if
End sub
Ese seria el codigo

tiene el problema de que tienes que levantar la tecla para que se mueva. si quieres compobar si sigue pulsada tendras que usar el keydown y un timer, pero lo complica un poco mas.
1 Salu2