lcXLSFile = 'c:\path\YourXls.xls' lcRange = "b2:b500" oExcel = createobject("excel.application") With oExcel .Workbooks.open(lcXLSFile) With .ActiveWorkbook.ActiveSheet.range(lcRange) For ix = 1 to .Rows.count For jx = 1 to .Columns.count ? .Cells(ix,jx).Value Endfor Endfor Endwith .quit EndwithHowever if your range is big, keep in mind looping in Excel with VBA is very slow. Instead you could just get a copy of sheet as type fox2x and process a dbf.