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