Столько копий сломано по поводу оптимизации вывода в Excel

Уже совершенно очевидно, что заполнять лист по ячейкам, выполнять .Select-ы, и прочее, прочее
совсем "не логиш".
Другое дело сделать в памяти массив вариантов и потом присвоить его реальному Range листа.
чтото вроде
Dim varArray(x, y)
for i = xxx
for j = xxx
varArray(i, j) = <values>
next
next
Set p_Range = Application.Range("XX:YY")
p_Range.Value = varArray(...)
работает всё супер — массив в 40.000 ячеек (на 1ГГц проце) заполняется секунд за пару-тройку.
Но не все так гладко.
Проблема состоит в том, что реально в том ранге ( Set p_Range = Application.Range("XX:YY") )
могут быть объеденённые ячейки. тоесть реально в массиве вариантов varArray ячейке 10,3
в ранге листа может соответствовать одновременно и 10,3 и 10,4, и 10,5.
Excel есессно чихать хотел на это и пуляет данные один к одному.
Таким образом — чтобы не потреять данные — приходится создавать массив вариантов с "фиктивными"
ячейками.
Вопрос собсно в следующем — может кто знает, как отучить Excel от такой "дурацкой" привычки,
чтобы он пулял значения с учётом объеденённых ячеек.
Спасибо!
С.
Думаю это невозможно, ведь ячейки то объединеные, как же иначе Excel будет их различать, фишка в том, что других поглощенных ячеек в Range уже не существует как бы
А что, убрать объединение ячеек нельзя? или тебе надо просто выплюнуть массив данных на лист и ты даже не представляешь что там за лист, какой у него формат...