Fala pessoal tenho o código abaixo que cria uma planilha, sobre um modelo, porém o linha a linha está muito lento, ele demora demais para preencher cada celula. É normal isso? Ou meu código está furado? Coloquei para ele exibir o excel e ir preenchendo e realmente é na hora de preencher que fica lento. Segue abaixo: Código: CREATE "Excel.Application" chExcelApplication. FILE-INFO:FILE-NAME = "c:\temp\xx.xlt". chexcelapplication:workbooks:OPEN(FILE-INFO:FULL-PATHNAME,TRUE). FOR EACH tabela: RUN pi-acompanhar in h-acomp (input string("EXCEL : " + tabela.campo)). chexcelapplication:Sheets("Plano"):Select. chExcelApplication:range("A1"):value = "xx - " + f-mes:SCREEN-VALUE + "/" + STRING(YEAR(TODAY)). chExcelApplication:range("H3"):value = "xx. " + f-mes:SCREEN-VALUE + "/" + STRING(YEAR(TODAY)). chExcelApplication:range("I3"):value = "xx: " + f-data-corte:SCREEN-VALUE. chexcelapplication:Rows(string(i) + ":" + STRING(i)):Select. chexcelapplication:Selection:Insert. chExcelApplication:range("G" + STRING(i) + ":" + "CE" + STRING(i)):numberformat = "#.##0,00". chExcelApplication:range("A" + STRING(i) + ":" + "CE" + STRING(i)):interior:colorindex = 02. /* 10 é o código da cor. */ chExcelApplication:range("A" + STRING(i)):value = xx chExcelApplication:range("B" + STRING(i)):value = xx chExcelApplication:range("C" + STRING(i)):value = xx chExcelApplication:range("D" + STRING(i)):value = xx chExcelApplication:range("E" + STRING(i)):value = xx chExcelApplication:range("F" + STRING(i)):value = xx chExcelApplication:range("G" + STRING(i)):value = xx chExcelApplication:range("H" + STRING(i)):value = xx chExcelApplication:range("I" + STRING(i)):value = xx chExcelApplication:range("J" + STRING(i)):value = xx chExcelApplication:range("L" + STRING(i)):value = ("=SUM(I" + STRING(i) + ":K" + STRING(i) + ")"). chExcelApplication:range("M" + STRING(i)):value = ("=H" + STRING(i) + "-L" + STRING(i)). ASSIGN i-cont2 = 1 c-cel-soma = "" c-cel-soma2 = "". DO i-cont = 1 TO 31: chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value =xx[i-cont]. chExcelApplication:range(c-coluna[i-cont2 + 1] + STRING(i)):value =xx[i-cont]. IF c-cel-soma = "" THEN c-cel-soma = "=" + STRING(c-coluna[i-cont2] + STRING(i)). ELSE c-cel-soma = c-cel-soma + "+" + STRING(c-coluna[i-cont2] + STRING(i)). IF c-cel-soma2 = "" THEN c-cel-soma2 = "=" + STRING(c-coluna[i-cont2 + 1] + STRING(i)). ELSE c-cel-soma2 = c-cel-soma2 + "+" + STRING(c-coluna[i-cont2 + 1] + STRING(i)). i-cont2 = i-cont2 + 2. END. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = c-cel-soma. i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = c-cel-soma2. i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = "=M" + STRING(i) + "-BX" + STRING(i). i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = xx. i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = xx[1]. i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = xx[2]. i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = xx[3]. i-cont2 = i-cont2 + 1. chExcelApplication:range(c-coluna[i-cont2] + STRING(i)):value = b-es-plano-mestre-det.programa-mes[4]. i-cont2 = i-cont2 + 1. i = i + 1.[quote][/quote] END. chexcelapplication:Sheets("Plano"):Select.