数据格式意外地从dd / mm / yyyy转换为mm / dd / yyyy

时间:2018-08-02 09:33:57

标签: excel excel-vba date

我有一个userForm来收集一些要插入到Excel工作表中的数据。 日期是字段之一,对于我的语言环境,日期始终是dd / mm / yyyy。

我在表单中放置了一个日期(即2018年8月13日)并调试了我看到的代码:

data_mov = new_mov.data.Value

该值取自我编写时的形式。所以现在仍然是13/08/2018。这等于13/08/2018 = 13/08/2018

然后将值放入特定的单元格中。调试我看到了

Range("A" & riga).Value = data_mov

评估为2018年8月13日= 2018年8月13日

因此该单元存储了08/02/2018。为什么会发生?我没有可以操纵日期的中间代码。如何防止这种情况发生?

1 个答案:

答案 0 :(得分:0)

尝试将此行添加到您的代码中:

Range("A" & riga).NumberFormat = "dd/mm/yyyy;@"

它将对您的单元格应用所需的格式。

或者,您可以使用:

Cells(riga, 1).NumberFormat = "dd/mm/yyyy;@"