cTitulo := 'Planilha de Teste';
  objExcel := CreateOleObject('Excel.Application');
  objExcel.Caption := cTitulo;

  VIOFAdic:=0;
  VTJuros:=0;
  VTIOF:=0;
  if ceIOFAdic.Value > 0 THEN
    VIOFAdic:=ceIOFAdic.Value/100;
  if ceTJuros.Value > 0 THEN
    VTJuros:=ceTJuros.Value/100;
  if ceTIOF.Value > 0 THEN
    VTIOF:=ceTIOF.Value/100;

  objExcel.Workbooks.Add;
  objExcel.Workbooks[1].Sheets.Add;
  objExcel.Workbooks[1].WorkSheets[1].Name := cTitulo;
  Sheet := objExcel.Workbooks[1].WorkSheets[cTitulo];
  Sheet.Range['B2'] := 'BORDERÔ DE COBRANÇA';
  Sheet.Range['B4','C4'].Borders.LineStyle := 1;
  Sheet.Range['B4','C4'].Borders.Weight := 2;
  Sheet.Range['B4','C4'].Borders.ColorIndex := 1;
  Sheet.Range['B4'].ColumnWidth := 13.29;
  Sheet.Range['B4'] := 'DATA……….:';
  Sheet.Range['C4'].ColumnWidth := 10;
  Sheet.Range['C4'] := eData.Text;
  Sheet.Range['B5','C5'].Borders.LineStyle := 1;
  Sheet.Range['B5','C5'].Borders.Weight := 2;
  Sheet.Range['B5','C5'].Borders.ColorIndex := 1;
  Sheet.Range['B5'] := 'IOF ADICIONAL';
  Sheet.Range['C5'].NumberFormat := '0,00%';
  Sheet.Range['C5'] := VIOFAdic;
  Sheet.Range['B6','C6'].Borders.LineStyle := 1;
  Sheet.Range['B6','C6'].Borders.Weight := 2;
  Sheet.Range['B6','C6'].Borders.ColorIndex := 1;
  Sheet.Range['B6'] := 'TAXA….…….:';
  Sheet.Range['C6'].NumberFormat := '0,00%';
  Sheet.Range['C6'] := VTJuros;
  Sheet.Range['E4','F4'].Borders.LineStyle := 1;
  Sheet.Range['E4','F4'].Borders.Weight := 2;
  Sheet.Range['E4','F4'].Borders.ColorIndex := 1;
  Sheet.Range['E4'] := 'TAR………..:';
  Sheet.Range['E4'].ColumnWidth := 9.86;
  Sheet.Range['F4'].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ #.##0,00)';
  Sheet.Range['F4'] := ceTarifa.Value;
  Sheet.Range['E5','F5'].Borders.LineStyle := 1;
  Sheet.Range['E5','F5'].Borders.Weight := 2;
  Sheet.Range['E5','F5'].Borders.ColorIndex := 1;
  Sheet.Range['E5'] := 'IOF……..….:';
  Sheet.Range['F5'].NumberFormat := '0,00%';
  Sheet.Range['F5'] := VTIOF;


  Sheet.Range['A9','K9'].Borders.LineStyle := 1;
  Sheet.Range['A9','K9'].Borders.Weight := 2;
  Sheet.Range['A9','K9'].Borders.ColorIndex := 1;
  Sheet.Range['A9','K9'].VerticalAlignment := 2;
  Sheet.Range['A9','K9'].HorizontalAlignment := 3;

  Sheet.Range['A9'] := 'Nº FAT.';
  Sheet.Range['A9'].ColumnWidth := 15;
  Sheet.Range['B9'] := 'VALOR/FAT.';
  Sheet.Range['C9'] := 'VENCIM.';
  Sheet.Range['D9'] := 'Nº DIAS';
  Sheet.Range['E9'] := 'JUROS';
  Sheet.Range['F9'] := 'TAR.';
  Sheet.Range['G9'].ColumnWidth := 0;
  Sheet.Range['G9'] := 'Base Calculo IOF Adic';
  Sheet.Range['H9'] := 'IOF Adic';
  Sheet.Range['I9'].ColumnWidth := 0;
  Sheet.Range['I9'] := 'Cálculo IOF';
  Sheet.Range['J9'] := 'IOF';
  Sheet.Range['K9'] := 'SAL/LIQ';
  Linha:=10;
  rxReceber.First;
  while not rxReceber.Eof do
  begin
    PColuna:='A'+ IntToStr(Linha);
    SColuna:='K'+ IntToStr(Linha);
    Sheet.Range[PColuna,SColuna].Borders.LineStyle := 1;
    Sheet.Range[PColuna,SColuna].Borders.Weight := 2;
    Sheet.Range[PColuna,SColuna].Borders.ColorIndex := 1;
    Sheet.Range[PColuna,SColuna].VerticalAlignment := 2;
    Sheet.Range[PColuna,SColuna].HorizontalAlignment := 3;
    Sheet.Cells[Linha,1]:=rxReceberNroFatura.AsString;
    Sheet.Cells[Linha,2].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ 
#.##0,00)';
    Sheet.Cells[Linha,2]:=rxReceberVlrFatura.AsFloat;
    Sheet.Cells[Linha,3]:=rxReceberDtVencto.AsString;
    PColuna:='C'+ IntToStr(Linha);
    Sheet.Cells[Linha,4].NumberFormat := '0';
    // AQUI E QUE DA O ERRO EU JA COLOQUEI 'SE' E 'IF' E MESMO ASSIM  DA O ERRO
    Sheet.Cells[Linha,4].formula:='IF(('+PColuna+'-C$4)>0;'+PColuna+'-C$4;0)';
    PColuna:='B'+ IntToStr(Linha);
    SColuna:='D'+ IntToStr(Linha);
    Sheet.Cells[Linha,5].NumberFormat := '0,00';
    Sheet.Cells[Linha,5].formula:='='+PColuna+'*C$6/30*'+SColuna;
    PColuna:='D'+ IntToStr(Linha);
    Sheet.Cells[Linha,6].NumberFormat := '0,00';
    // AQUI E QUE DA O ERRO EU JA COLOQUEI 'SE' E 'IF' E MESMO ASSIM  DA O ERRO
    Sheet.Cells[Linha,6].formula:='=IF('+PColuna+'>0;F$4;0)';
    PColuna:='B'+ IntToStr(Linha);
    SColuna:='E'+ IntToStr(Linha);
    Sheet.Cells[Linha,7].NumberFormat := '0,00';
    Sheet.Cells[Linha,7].formula:='='+PColuna+'-'+SColuna;
    PColuna:='G'+ IntToStr(Linha);
    Sheet.Cells[Linha,8].NumberFormat := '0,00';
    Sheet.Cells[Linha,8].formula:='='+PColuna+'*C$5';
    PColuna:='D'+ IntToStr(Linha);
    Sheet.Cells[Linha,9].NumberFormat := '0,00000000000000000000%';
    Sheet.Cells[Linha,9].formula:='=(((F$5/12)/30)*'+PColuna+')';
    PColuna:='B'+ IntToStr(Linha);
    SColuna:='I'+ IntToStr(Linha);
    Sheet.Cells[Linha,10].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ 
#.##0,00)';
    Sheet.Cells[Linha,10].formula:='='+PColuna+'-'+SColuna;
    
PColuna:='B'+IntToStr(Linha)+'-E'+IntToStr(Linha)+'-F$5-H'+IntToStr(Linha)+'-J'+IntToStr(Linha);
    Sheet.Cells[Linha,11].NumberFormat := 'R$ #.##0,00_);[Vermelho](R$ 
#.##0,00)';
    Sheet.Cells[Linha,11].formula:='='+PColuna;
    rxReceber.Next;
    Inc(Linha);
  end;
  
objExcel.ActiveWorkBook.SaveAs(configuracao.dir_relatorio+'\DescontoDuplicata.xls');
  objExcel.visible:=True;

JA PROCUREI NA INTERNET E NENHUMA RESPOSTA QUE DESSE CERTO

Responder a