将日期传递格式传递给变量时的日期更改格式(“天变为月,月变为天”)

时间:2019-07-15 10:32:00

标签: excel vba date

我正在尝试将法语日期放入变量:"dd/mm/yyyy"

但是,有时天和月会互换为例:

2019/02/02 变为 2019/07/02

这似乎适用于某些日期,但有时适用于月+天交换。

为解决这个问题,我尝试了以下公式:

MyDate = DateValue(Format(ActiveWorkbook.Worksheets("Sheet1").Cells(Compteur, 49).Value, "dd/mm/yyyy"))

当我放

MyDate = DateValue(Format(ActiveWorkbook.Worksheets("Sheet1").Cells(Compteur, 49).Value, "mm/dd/yyyy"))这似乎可行,但我不明白其逻辑:这真的可行吗?或者只是运气。

但是错误仍然存​​在,我在这里做错了吗?

否则,如果我的问题没有解决方案,我将尝试使用如下R1C1公式:

Evaluate("=IFERROR(INDEX(Tableau3,MATCH(C" & Compteur & ",Tableau3[Matricule],0),49),"""")")

但是这似乎不起作用,我不明白为什么,基本上,此公式应将“ C”列的ID值搜索到位于标签Tableau3[Matricule]的选项卡列中的另一张表中,然后输出49列的值ID为另一张纸的ID的单元格的数量。

此公式的错误为2015,因此 #VALUE

注意:在设置为日期格式的单元格中选择了保存到MyDate中的值,然后将其也设置为日期的单元格粘贴到另一张纸中。

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

也许您可以使用这种类型的东西。

With ActiveWorkbook.Worksheets("Sheet1").Cells(Compteur, 49)

MyDate = format(Month(.Value) & "/" & Day(.Value) & "/" & Year(.Value), "dd/mm/yyyy")

End With

它将始终为您提供正确的格式。


在Excel中

对于您看到的日期,您所描述的错误。使用公式=DATE(YEAR(G14),DAY(G14),MONTH(G14))

它将转换:

enter image description here

实际上,Date公式采用3个参数,Year,Month,Day,但是在您的情况下,您将Month作为Day,将Day作为Month,因此我们使用Year,Day,Month来掩盖Date。