Я помогаю обновлять чужой код VBA, так как он был переведен в другой проект.Код считывает данные из входного листа, затем отображает 4 формы результатов, заполняет их, сохраняет их в виде файла CSV, а затем снова отображает их.
Проблема : одна из записей данных - это числа, отформатированные как ## - #, например, 20-2, 13-5 и 12-1.12-1 это проблема.Excel видит это и читает его как формат даты и печатает 1-Dec в моем листе результатов.
Решения, которые я пробовал : я пытался остановить программу, прежде чем она будет скрывать данные и изменятьформат, но он сбрасывает числа.И потом я тоже не могу сохранить его, потому что программа запустилась на полпути, и я не хочу сохранять документ таким образом.Затем я попытался отобразить листы в конце после запуска и очистки программы, но без полного удаления данных после запуска программы, она не будет работать правильно, когда вы попытаетесь запустить ее во второй раз.Наконец, я попытался отобразить, прежде чем программа даже запустилась, и изменил настройку формата с «Общие» на «Текст», но даже после сохранения и закрытия не похоже, что это оказало влияние.
МойВопрос : Прежде всего я правильно меняю формат?А во-вторых, кто-нибудь знает, как бороться с Excel, автоматически форматируя таким образом.Я работал в VBA около 3 недель и сталкивался с этим только один раз, но это легко исправить.Этот, похоже, не следует этому шаблону.