Использование Excel 2013.

Итак, у меня есть рабочая книга (назовем ее книгой B), которая извлекает таблицу из другой рабочей книги (исходный файл, книга A). Никаких необычных соединений или пользовательских запросов, я использовал интерфейс Excel для всего, ничего не меняя, кроме отключения фонового обновления.

Проблема возникает, когда я обновляю исходную таблицу в книге A и перехожу, чтобы обновить соединение в книге B. Все вставленные мной обновления переносятся, за исключением данных в одном столбце.

Я заполнил столбцы от А до АА. После обновления значения в столбце O (отформатированные как даты и отображаемые так, как должны) не переносятся. Но это относится только к новым ценностям. Значения, которые уже присутствовали в книге B, остаются там, но значения, которые находятся в книге A, но не в книге B, не переносятся - и позвольте мне повторить, это ТОЛЬКО для столбца O.

Я попытался удалить соединение и добавить его снова - безрезультатно. Следует сказать, что оба файла хранятся на сетевом диске.

С каким колдовством я был проклят и как мне это исправить?

1 ответ1

0

Судя по изменению цвета волос, которое я только что перенес, я должен быть близок к выходу на пенсию. Я ошибался в своей первоначальной оценке - были ли значения уже присутствующими в книге B или не оказались несущественными во всей их полноте.

По какой-то безбожной причине, если значение даты не отформатировано так, как его ячейка говорит, что оно должно быть отформатировано, значение, похоже, игнорируется не только при обновлении таблицы, но, по-видимому, также при попытке записи значений в VBA (но это отдельная тема ).

Пример: если ячейка отформатирована в формате "dd:mm:yy" и вы вставили значение, имеющее "dd:mm:yyyy" , вставленный формат будет не только придерживаться (то есть значения будут отображаться в вставленном формате, но если вы проверите, какой формат должна иметь ячейка, она отображает то, что вы изначально установили), но что-то еще кажется "неправильным" - особенно заметно по тому, как дата выравнивается по левому краю по умолчанию, тогда как она должна быть по правому краю. выровнены. Я не уверен, почему это происходит, но это должно быть связано с исходным материалом (я вставляю данные из программы, написанной в 1996 году, поэтому я предполагаю, что на заднем плане есть какая-то неисправность кодировки, несмотря на мои попытки исправить форматы даты программно, прежде чем делать окончательную вставку).

В любом случае - в этом случае значение не переносится во время обновления таблицы. Бросок вызова текста в столбец без разделителя в соответствующем столбце до обновления решает все.

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