Я часами пытался понять, что случилось с ISNUMERIC ...
if IsNumeric(oSheet.GetCellByPosition( 8,iRow).String) then
oSheet.GetCellByPosition(20,iRow).Value = oSheet.GetCellByPosition( 8,iRow).Value()
else
oSheet.GetCellByPosition(20,iRow).String = oSheet.GetCellByPosition( 8,iRow).String()
endif
Проблема заключалась в том, что атрибут, передаваемый в функцию IsNumeric, должен быть строкой ( не объект или число!)
Я свяжусь с Эндрю Питонаком, чтобы попросить его прояснить это в его руководствах.