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

Excel 数据格式意外地从dd/mm/yyyy转换为mm/dd/yyyy,excel,vba,date,Excel,Vba,Date,我有一个用户表单来收集要插入excel工作表中的数据。 其中一个字段是日期,对于我的区域设置,日期始终为dd/mm/yyyy 我在表单中输入了日期(即2018年8月13日),并调试了我看到的代码: data_mov = new_mov.data.Value 该值取自我编写的表单。现在仍然是2018年8月13日。评估结果为2018年8月13日=2018年8月13日 然后我把这个值放在一个特定的单元格中。我明白了 Range("A" & riga).Value = data_mov 评估

我有一个用户表单来收集要插入excel工作表中的数据。 其中一个字段是日期,对于我的区域设置,日期始终为dd/mm/yyyy

我在表单中输入了日期(即2018年8月13日),并调试了我看到的代码:

data_mov = new_mov.data.Value
该值取自我编写的表单。现在仍然是2018年8月13日。评估结果为2018年8月13日=2018年8月13日

然后我把这个值放在一个特定的单元格中。我明白了

Range("A" & riga).Value = data_mov
评估至2018年8月13日=2018年8月13日


因此,该单元存储2018年2月8日。为什么会这样?我没有可以操纵日期的中间代码。如何防止这种情况发生?

尝试将这一行添加到代码中:

Range("A" & riga).NumberFormat = "dd/mm/yyyy;@"
它将对单元格应用所需的格式

或者,您可以使用:

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

如果你能选择一个日期值为13天或更高的样本日期来明确哪一天是哪一天,那就太棒了。编辑以获得清晰。什么类型的变量是
data\u mov
?我不声明变量。我来自一种不需要这样做的语言(PHP)。我应该使用什么类型?我来自一种语言(PHP),在这种语言中,这是不必要的,在VBA中也是不必要的,但它有助于解决类似的问题。什么是
新移动数据
?在
范围(“A”&riga)之后添加此值。Value=data\u mov
不会改变任何内容它应该改变,这是格式更改方法,请您重新检查或尝试另一种格式好吗?@LelioFaieta您想要的格式是什么?我希望保留插入到输入中的字符串。