1

Я использую шаблон Excel для создания отчета из Access с использованием VBA. При открытии вновь созданного файла форматирование номера ячейки было изменено с "Число" на "Дата".

Таблица в шаблоне имеет ячейки, отформатированные как "Число":

Формат ячейки Excel

В эту ячейку не поступают данные из Access, они имеют формулы, которые ссылаются на другой лист в книге. После завершения экспорта данных я открываю файл Excel и вижу это:

Формат изменен

Это единственный столбец в этой таблице, который делает это, но другие ячейки таблицы также изменяются на формат "Дата", если они содержат только цифры.

Я написал код VBA, поэтому я знаю, что это не код, изменяющий формат, и в шаблоне не определены макросы.

Я искал ответы, но ни один из них, похоже, не работает или не подходит для этой проблемы. Например, все следующие вопросы SU не дают мне ответа:

Я хотел бы найти решение, которое не требует изменений в глобальных настройках Excel. База данных Access будет отправлена клиенту, и я не хочу, чтобы они меняли свои настройки только для этого, они также будут использовать другую версию Excel (у меня 2013)

Я пытался отформатировать некоторые ячейки с использованием VBA, одновременно передавая в них данные, но клиент хотел бы иметь возможность редактировать шаблон Excel без необходимости изменения кода VBA в базе данных; отсюда и причина переноса данных на отдельный лист, на который ссылается таблица. Если я жестко закодирую форматирование определенных ячеек, они не смогут его редактировать.

Как мне остановить Excel, изменяя форматирование?

Обновить

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

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

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

Это заставляет меня думать, что это ошибка в Excel и не имеет ничего общего с моим кодом; и хотя сейчас проблема решена, я бы хотел найти решение или, по крайней мере, объяснение этого странного поведения.

2 ответа2

0

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

Если вы видите, что форматирование ячеек без видимой причины изменяется в файлах, созданных из шаблона, возможно, стоит добавить еще один лист в шаблон рабочей книги, который не содержит никаких формул или ссылок. Убедитесь, что этот лист выбран, когда шаблон сохранен / закрыт.

Новые файлы, сгенерированные из шаблона, больше не должны менять форматирование.

Я только что проверил это с помощью Office 2013 (Access & Excel).

0

У меня была эта проблема ... я переформатировал конечный результат шаблона, очистил все данные и сохранил его как новый шаблон. Проблема исправлена ... пойди разберись.

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