В итоге формула заработала, я ее еще усложнил и она приобрела какой-то страшный вид -
ActiveCell.FormulaR1C1 = _
"=CHOOSE(SIGN(IF(ISERROR(VlookupNumberX(RC[-9],4,FALSE,'[TLC.xls]01. Память'!C1:C5,'[TLC.xls]02. Флэш карты, драйвы'!C1:C5,'[TLC.xls]04. Процессоры'!C1:C5)),"" "",(VlookupNumberX(RC[-9],4,FALSE,'[TLC.xls]01. Память'!C1:C5,'[TLC.xls]02. Флэш карты, драйвы'!C1:C5,'[TLC.xls]04. Процессоры'!C1:C5)))-RC[-4])+2,""^"",""<->"",""v"")"
если раньше при отсутствии данных в ячейках появлялось #Н/Д, то теперь #ЗНАЧ! , впрочем условное форматирование убирает и то и это... но что-то очень громоздко ... но работает - факт!
ActiveCell.FormulaR1C1 = _
"=CHOOSE(SIGN(IF(ISERROR(VlookupNumberX(RC[-9],4,FALSE,'[TLC.xls]01. Память'!C1:C5,'[TLC.xls]02. Флэш карты, драйвы'!C1:C5,'[TLC.xls]04. Процессоры'!C1:C5)),"" "",(VlookupNumberX(RC[-9],4,FALSE,'[TLC.xls]01. Память'!C1:C5,'[TLC.xls]02. Флэш карты, драйвы'!C1:C5,'[TLC.xls]04. Процессоры'!C1:C5)))-RC[-4])+2,""^"",""<->"",""v"")"
если раньше при отсутствии данных в ячейках появлялось #Н/Д, то теперь #ЗНАЧ! , впрочем условное форматирование убирает и то и это... но что-то очень громоздко ... но работает - факт!