4

У меня есть лист, который использует подключение для передачи данных для получения данных для сводной таблицы из внешней базы данных с помощью запроса SQL. Пользователь может установить параметры для SQL, заполнив несколько ячеек на листе. Процесс описан здесь.

Когда я сохраняю и перезагружаю файл и обновляю данные Excel вылетает. Я обнаружил, что содержимое поля «Получить значение из следующей ячейки:» из диалогового окна «Параметры» не сохраняется.

Я пробовал Excel 2007 и Excel 2010, сохраняя в обоих форматах XLSX и Binary, но ни один из них не сохраняет настройки. У кого-нибудь есть исправление или обходной путь?

Скриншот диалогового окна здесь:

1 ответ1

1

Эта проблема возникает, когда мы хотим «импортировать данные» непосредственно в «Отчет сводной таблицы».

В качестве обходного пути сначала «импортируйте данные» как «Таблица» на отдельном листе (скажем, лист «Данные БД»). Затем создайте сводку, используя эти данные на отдельном листе (скажем, лист «DB Pivot»).

На параметры запроса (начальную дату и т.д.) Можно ссылаться из таблицы «Pivot DB». Однако, когда параметры меняются, вам необходимо сначала обновить таблицу в «БД данных», а затем - сводную таблицу.

Чтобы сделать это одним щелчком мыши, включите командную кнопку (или макрос) со следующим кодом.

Sheets("DB Data").Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh

Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .