Я записал в свою книгу макрос, который открывает указанный файл .csv и копирует содержимое на новый лист в моей исходной книге. Один из столбцов в .csv содержит даты в неамериканском формате, а Excel считывает некоторые из них как американские и преобразует их (например, 12 февраля 2020 года [не 02/20/2020 неамериканских] читается как 2 De c 2020 [12/02/2020 American].
Большинство дат - после 12-го дня и, следовательно, не могут быть преобразованы в американский формат и считываются как текст. Остальные сохраняются как целое число даты.
Как мне остановить это поведение программно?
Рабочая книга будет использоваться несколькими пользователями на разных машинах, поэтому изменение значений по умолчанию Windows не является решением.
Спасибо!
правки: исходный лист создается другой системой, а файлы архивируются в сетевом расположении с данными столбца B в формате "дд / мм / гггг".
Dim Source_Sheet As Worksheet
Set Source_Sheet = Workbooks("example").Worksheets("example")
Dim Target_Sheet As Worksheet
Set Target_Sheet = Workbooks("example2").Worksheets("example2")
Source_Sheet.Copy After:=Target_Sheet
Я думаю, что изменение формата происходит во время копирования листа.
CSV открывается как:
Workbooks.Open ("file")