У SpinEdit вместо Text можно сразу использовать Value. Попробуйте так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: integer;
begin
...
j:= 3;
for i := 0 to CheckListBox1.Count-1 do
if CheckListBox1.Checked[i] then
begin
Excel.Range['D' + IntToStr(j)].Value:=
(FindComponent('SpinEdit' + IntToStr(i)) as TSpinEdit).Value;
Inc(j);
end;
end;