En parte es cierta la respuesta anterior, te explico la parte teorica para que tengas un idea clara, cada vez que te cambias de fila en un grid se esta cambiando el puntero de la tabla, ahora ya sabes que la fila no es problema, veamos la columna, el grid tiene una propiedad "ActiveColumn", con esta propiedad sabes que columna esta activa, Ahora veamos como sacamos el dato, cada columna tiene una propiedad "ControlSource" donde tenemos el nombre del campo, si usa estos conceptos y los mesclamos apropiadamente tendendremos el valor seleccionado :
Este codigo debes ponerlo en "AfterRowColChange" y listo
xcampo = Thisform.Grid1.Columns(Thisform.Grid1.ActiveColumn).ControlSource
ValorSeleccionado = &xcampo.
Explicandote, con la primeral linea obtuve el nombre campo de la columna seleccionada sin importar cual sea, mas el registro activo puedo obetener el valor seleccionado.
Servido