oExcel=CREATEOBJECT("Excel.Application") With oExcel .DisplayAlerts= .F. .WorkBooks.Open(ALLTRIM("C:\Daas\Absorb_2005new.xls"),0) .Sheets(ALLTRIM(" Buffing")).Select() DO PopulateExcelArray .Quit EndWith Release oExcel Procedure PopulateExcelArray DO ProvideDesc PROCEDURE ProvideDesc DO UpdateSpreadsheet PROCEDURE UpdateSpreadsheet ... IF !EMPTY(sA) cCell="A"+sRowID .Range(cCell).Select() .Range(cCell).Value= DATE(1990,01,01)&& CTOD(sA) ENDIF * The s-CELL Values are all numeric at this point IF sC > 0 cCell="C"+sRowID .Range(cCell).Select() .Range(cCell).Value= sC ENDIF IF sH> 0 cCell="H"+sRowID .Range(cCell).Select() .Range(cCell).Value= sH ENDIF IF sK> 0 cCell="K"+sRowID .Range(cCell).Select() .Range(cCell).Value= sK ENDIF IF sT> 0 cCell="T"+sRowID .Range(cCell).Select() .Range(cCell).Value= sT ENDIF IF sAB> 0 cCell="AB"+sRowID .Range(cCell).Select() .Range(cCell).Value= sAB ENDIF IF sAD> 0 cCell="AD"+sRowID .Range(cCell).Select() .Range(cCell).Value= sAD ENDIF IF sAE> 0 cCell="AE"+sRowID .Range(cCell).Select() .Range(cCell).Value= sAE ENDIFAfter all of that the spreadsheet is unchanged!