2015-05-05 8 views
0

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

Проблема заключается в том, что там, где есть даты, он сохраняет формат в виде американских дат, поэтому, когда мы загружаем данные в нашу систему, это либо неправильно, либо вызывает ошибку (например, сегодня я попытался загрузить 30/04/2015, но моя система сказала

Когда я использую MONTH() в ячейке до И после запуска макроса, он дает правильный месяц, но сохраненные файлы prn имеют неправильную дату (выше указано как 4/30/2015, в то время как мой лист Excel все еще говорит 30/4/2015.

Я попытался хранить дату в формате США, но затем просто сохраняет формат в формате США

Ниже приведено MWE из того, что я написал до сих пор, если кто-то может помочь в том, как обеспечить сохранение дат в британском формате, это было бы высоко оценено.

Sub Uploads() 

Dim wb As Workbook, wk As Worksheet, rng As Range, num As Long, i As Long, str As String 
Set wb = ThisWorkbook 
i = 0 
num = wb.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row - 7 

For Each wk In wb.Worksheets 
    wk.Range("A2:Z2").AutoFill Destination:=wk.Range("A2:Z" & num), Type:=xlFillDefault 
    wk.Columns.AutoFit 
    wk.SaveAs Filename:="H:\Finance\Uploads\CBCS\Upload Master\CBCS (" & i & ") " & Format(Now, "dd-mm-yyyy") & ".prn", FileFormat:=xlTextPrinter 
    i = i + 1 
Next wk 

End Sub 

ответ

1

Если вы вручную задали формат номера ячеек перед экспортом, он должен работать.

wk.Range("A2:Z" & num).NumberFormat = "d/M/yyyy" 
+0

Manual SaveAs работает даже без этой настройки, но по какой-либо причине (ошибка?) В VBA, если вы не установите формат номера, он принимает формат по умолчанию в США, независимо от того, какой у вас язык. – dePatinkin

0

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

enter image description here

+0

Я не думаю, что в этом случае локаль помогает. – dePatinkin

Смежные вопросы