Another thought could be that you're sending a variant array item to a string variable in the function.. maybe you could use CStr(aryInvDetail(indx, 0)) ?