Hi there, The _ExcelReadSheetToArray() function is quite slow. This is most probably due to the fact that it reads and stores information on a cell by cell basis. A while back I found this line of code that allowed me to read a whole sheet (used range) to an array: $array_output = $oExcel.transpose($oExcel.ActiveSheet.UsedRange.Value) This method can be around 150 to 200 times faster than the built-in UDF function (give or take, it's not easy to perform a proper measure, given the variables in