#vba #date
Вопрос:
ниже приведены мои коды VBA, он просто копирует даты и значения из excel в CSV и закрывает CSV после сохранения. Проблема в том, что когда я повторно открываю CSV, места дня и месяца меняются местами. Что-то происходит после сохранения файла.
Workbooks(wb).Worksheets("values").Range("g12").Select
Range(Selection, Selection.End(xlToRight).End(xlDown)).Copy
Workbooks(wb2).Activate
Range("a12").PasteSpecial xlPasteValues
Range("a12").PasteSpecial xlPasteFormats
Workbooks(wb2).Close SaveChanges:=True
ниже приведен пример входных значений, с которыми я справляюсь.
Комментарии:
1. Что происходит, когда вы открываете CSV-файл в блокноте или каком-либо другом текстовом редакторе?
2. Откройте csv в блокноте, формат даты, скорее всего, не изменился. При открытии Excel прочитает обычную текстовую дату и преобразует ее в короткую дату, указанную в настройках вашей системы. (правка: 1 Бигбену за то, что опередил меня) :p
3. когда я открываю в блокноте , формат изменяется с дд/мм/гггг на мм/дд/гггг
4. просто чтобы добавить, когда я вручную копирую вставку, формат не меняется, что довольно странно.