Я использую шаблон Excel для создания отчета из Access с помощью VBA. При открытии вновь созданного файла форматирование ряда ячеек было изменено с "Number"на " Date".
таблица в шаблоне имеет ячейки в формате "число":
эти ячейки не имеют данных, передаваемых им из Access, они имеют формулы, которые ссылаются на другой лист в книге. После завершения экспорта данных I откройте файл Excel и посмотрите:
Это единственный столбец, в этой таблица, которая делает это, но другие ячейки таблицы на листе также изменяются на формат "дата", когда они содержат только цифры.
Я написал код VBA, поэтому я знаю, что это не код, изменяющий формат, и в шаблоне нет макросов.
Я искал ответы, но ни один из них, кажется, не работает или нет применимо к этой проблеме. Например, все следующие вопросы SU не ответьте мне:
-
Excel-Как остановить автоматическое деструктивное переформатирование полей при загрузке документа
-
как я могу установить Excel, чтобы всегда импортировать все столбцы CSV-файлов в виде текста?
-
как остановить автоматическое преобразование из текста в hyper ссылки?
Я хотел бы найти решение, которое не требует изменения глобальных параметров в Excel. База данных Access будет отправлена клиенту, и я не хочу, чтобы они меняли свои настройки только для этого, они также будут использовать другую версию Excel (у меня есть 2013)
Я попытался форматировать некоторые ячейки, используя VBA при передаче данных в них, но клиент хотел бы иметь возможность редактировать шаблон Excel без необходимости изменения кода VBA в базе данных; следовательно, причина для передачи данных в отдельный лист, который затем ссылается таблицы. Если я жестко закодирую форматирование определенных ячеек, они не смогут его редактировать.
Как остановить Excel изменения форматирования?
обновление
Я начинаю думать, что это вызвано ошибкой в Excel 2013. К сожалению, у меня нет другой версии, доступной для меня, чтобы проверить эту теорию, но изменение форматирования происходит только с листом, видимым в данный момент при сохранении шаблона.
Я добавил "титульный лист" в книгу, содержащую информацию об отчете. Этот лист не ссылается на данные в других частях книги. Выбрав этот лист, я сохранил и закрыл шаблон. Отчеты, созданные с использованием этого последнего шаблона не изменять форматирование ячеек при создании и последующем открытии отчета.
Я теперь также замечаю, что другие листы, похожие на тот, имеющий проблемы форматирования,не произвольно переформатировать ячейки, поскольку они не были "активным" листом при сохранении/закрытии шаблона.
Это заставляет меня думать, что это ошибка в Excel и ничего общего с моим кодом, и хотя это решает проблему на данный момент я бы хотел найти решение, или по крайней мере, объяснение этого любопытного поведения.