Tienes un datagrid con nombre dgGeneral
Guarda la posicion antes de la accion a realizar
lngRegistro = {Posicion actual del registro}
despues de haber ejecutado la accion que saco del foco
el registro sigue lo siguiente:
dgGeneral.SelBookmarks.Remove (0)
dgGeneral.SelBookmarks.Add lngRegistro
If lngRegistro > dgGeneral.VisibleRows Then
dgGeneral.Scroll 0, lngRegistro - 20
Else
dgGeneral.Scroll 0, lngRegistro - (dgGeneral.VisibleRows)
End If
espero que te sirva...