>>>> 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) >>>> ENDIF >>>> >>>>