No es fallo de delphi, ya encontré donde está el error:
Código Delphi
[-]
excel.Range['A'+inttostr(fila+3),'m'+inttostr(fila+3)]
cuando eso se ejecuta, la cosa queda así en tiempo de ejecución:
pero eso no está entre comillas !! quizás esté calculando el código ascii de la letra "A" y lo multiplique por siete, y lo mismo con la "m", después de todo, a saber el valor que interpreta realmente.
Tú esperas que quedara así:
y para conseguirlo, el código debe ser (bueno un ejemplo de cómo lo haría yo)
Código Delphi
[-]
function GetCelda(letra:char; fila:integer):string;
begin
Result := QuotedStr(letra + inttostr(fila));
end;
excel.Range[GetCelda('A',fila + 3),
GetCelda('m', fila + 3) ]
El truco: QuotedStr.
Saludos