oExcel=CREATEOBJECT("Excel.Application") With oExcel .DisplayAlerts= .F. .WorkBooks.Open(ALLTRIM(Charttabs.Sheet),0) .Sheets(ALLTRIM(Charttabs.Tab)).Select() DO PopulateExcelArray .Quit EndWith Release oExcel Procedure PopulateExcelArray ... && no problem retrieving information from spreadsheet cRange= "A"+ AllTrim(Str(nRow)) && Column A4 .Range(cRange).Select() &cArray(nRow,iColumn)= AllTrim(DTOC(.Range(cRange).Value)) ... DO ProvideDesc EndProc PROCEDURE ProvideDesc ... && no problem getting a description into my array cDescription= cDescription+ ALLTRIM(IIF(ISNULL(.Range("AE3").Value)," ",AllTrim(TRANSFORM(.Range("AE3").Value)))) &cArray(2,26)= cDescription DO UpdateSpreadsheet PROCEDURE UpdateSpreadsheet ... && no problem to identify new values for spreadsheet sRowID=ALLTRIM(STR(&cArray(3,1)) ... sAE= CHRTRAN(CHRTRAN(sAE,CHR(9),""),"-","") ... && What must be added to enforce this cell, say A199, to be populated? IF !EMPTY(sA) cCell="A"+sRowID .Range(cCell).Select() .Range(cCell).Value= CTOD(sA) ENDIFDo I have an object.update missing? Where can I get a list of Excel Object interactions?