Excel VBA – 保存文件更改date格式

我试图自动化一个过程,我们必须尽可能平滑通过在Excel中使用macros来拖动公式,直到我的主数据需要,然后将每个工作表保存为prn文件。

问题是,有date的地方,它将格式保存为美式date,所以当我们将数据上传到我们的系统时,它可能是错误的或导致错误(例如,今天我试图上传30/04/2015但我的系统说没有这样的date。

当我在运行macros之前和之后在单元格上使用MONTH()它会给出正确的月份,但是它保存下来的prn文件有错误地存储的date(上面显示为4/30/2015,而我的Excel工作表仍然说30/4/2015

我已经试过以美国格式存储date,但它只保留格式为美国格式

下面是迄今为止我所写的MWE,如果有人可以帮助如何确保date以英国格式存储,这将是非常赞赏。

 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 

如果您在导出之前手动设置单元格的数字格式,它应该工作。

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

尝试调整您的系统设置第一…我有过去的经验,如果不同的电脑有不同的设置,它可能会影响他们如何看待date和macros观反应如何…

在这里输入图像说明