2013-02-27 1 views
0

Скажем, я установил соединение с данными в Excel для обновления столбцов A-G на листе и сортировки по столбцу A. Если я поместил формулу в ячейку H, например =SUM(B2:D2), затем обновить соединение данных, столбец H ссылки на ячейки могут быть перепутаны. Например, формула H2 теперь =SUM(B7:D7) вместо =SUM(B2:D2). Я предположил, что причиной могут быть данные, перемещающиеся в столбцах A-G из-за моего сортировки в столбце A. Но, изменив формулу H формулу для использования абсолютных ссылок на строки - =SUM(B$2:D$2) - все еще приводит к тому, что ссылки перепутались. Это как если бы Excel перемещал целые строки электронной таблицы, а не только строки в обновленном диапазоне. Так что мои вопросы:Обновления соединения с данными в формате Excel Ссылки на внешние таблицы Диапазон

1) Кто-нибудь еще видел это поведение?

2) Если вы видели это поведение, знаете ли вы, как его отключить?

+0

Какая версия Excel? Является ли это официальной таблицей (список в XL 2003)? Если да, то столбец H в списке? Если нет, возможно, это должно быть :). –

+0

Это Excel 2010, и я использую диалог «Подключения к книге». –

ответ

1

Вам просто нужно расширить таблицу, чтобы также покрыть колонку H! Когда вы обновляете свои данные, Excel выделяет столбцы из запроса и дополнительные столбцы - и сохраняет последнее. В то же время все столбцы распространяются на любое количество строк, возвращаемых запросом ...

+0

Спасибо. Если я получу очень много времени, я могу попробовать это. Я, наконец, сдался и консервировал встроенное волшебство для домашнего затирания набора записей ADO. Даже это было более проблематично, чем следовало бы. Он должен быть таким же простым, как: –

+0

(1) variant = recordset.getrows (n) (2) range.value = variant. Где диапазон - это строка в Excel. Но массив, возвращаемый getrows, возвращается - необъяснимо - как массив (cols, rows), а не непосредственно используемая (по Excel) форма массива (rows, cols) ... Массив варианта перед его использованием для установки значения диапазона. Даже получение одной строки приводит к массиву (nCols, 0), который в качестве двумерного массива со вторым измерением как «1» также не может непосредственно использоваться для установки диапазона (если это строка) и является просто орехом в сделка. –

+0

+1. Очевидное решение, которое сэкономит много времени в долгосрочной перспективе. –

Смежные вопросы