Предыстория: я создал шаблон Word, содержащий процедуру, которая создает массив, содержащий заголовок проекта в первом измерении и заголовок цели во втором измерении. Этот массив переносится в таблицу в Excel для использования при создании временной шкалы / диаграммы Ганта.
Проблема: транспонирование помещает информацию о массиве соответствующим образом в таблицу Excel и увеличивает размер этой таблицы по желанию. Ячейка B5 - это начало DataBodyRange и начало того места, куда я хочу вставить информацию о массиве.
' paste headings from array into excel
xlWS.Range("B5:C" & UBound(gHeadings, 2)) = xlApp.Transpose(gHeadings)
Что не происходит должным образом, так это в последующих ячейках данных в таблице. Ячейки шкалы времени имеют следующую формулу:
=IF(AND(COLUMNS($H$5:H10)>=$E5,COLUMNS($H$5:H10)<=$F5),IF(COLUMNS($H$5:H10)-$E5<ROUND(($F5-$E5+1)*$G5,0),fillblock,""),"")
По завершении транспонирования строка ячеек, содержащая ошибки формулы, на которые имеется ссылка, в строке таблицы, которая была исходной последней строкой DataBodyRange. В этой строке, строка 10, формула изменяется с того, что показано выше, на:
=IF(AND(COLUMNS($H$5:H119)>=$E10,COLUMNS($H$5:H119)<=$F10),IF(COLUMNS($H$5:H119)-$E10<ROUND(($F10-$E10+1)*$G10,0),fillblock,""),"")
Есть мысли или понимание, почему это происходит, и как это предотвратить?