Muy buen truco amigo ecfisa.

Yo tambien quiero agregar mi propia version del truco:
Para Posicionarme en una determinada fila y columna se puede hacerlo así:
Código Delphi
[-]TStringGrid(DBGrid1).Col:=2;
TStringGrid(DBGrid1).Row:=5;
DBGrid1.SetFocus;
Pero mejor hacer un método que me haga todo, idéntico al tuyo:
Código Delphi
[-]function TForm1.DBgridColFil(ACol, AFil: integer; Rejilla: TDBGrid): string;
begin
Result:='';
if (ACol < 1) or (ACol > TStringGrid(Rejilla).ColCount) or (AFil<1) or (AFil > TStringGrid(Rejilla).RowCount) then
raise Exception.Create('Selección fuera de rango');
TStringGrid(Rejilla).Row:=AFil;
TStringGrid(Rejilla).Col:=ACol;
Rejilla.SetFocus;
Result:=Rejilla.SelectedField.AsString;end;
Elemplo de uso:
Código Delphi
[-] DBgridColFil(2,5,DBGrid1);
En otras palabras se puede hacer un casting a nuestro DBGrid convirtiendolo en un
StringGrid normal y
trabajarlo como tal.

Saludos...
