代码之家  ›  专栏  ›  技术社区  ›  TourEiffel

当我将日期转换为变量时,日期更改格式(天变为月,月变为天)

  •  0
  • TourEiffel  · 技术社区  · 6 年前

    我试着在一个变量中输入一个法国日期: "dd/mm/yyyy"

    但是,有时以天和月为例:

    2019年2月7日 02/07/2019 .

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

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

    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),"""")")

    但这似乎不起作用,我不明白为什么,基本上这个公式应该搜索一个ID值从列“C”到另一个表中的一个选项卡的列称为 Tableau3[Matricule] 然后输出49列单元格的值,其中ID是另一张表的ID。

    这个公式的错误是 2015 所以 #价值

    注: 保存到的值 MyDate 在设置为日期格式的单元格中选定,然后粘贴到另一张单元格也设置为日期的工作表中。

    致以最诚挚的敬意。

    0 回复  |  直到 6 年前
        1
  •  0
  •   Community CDub    5 年前

    也许你可以用这种东西。

    With ActiveWorkbook.Worksheets("Sheet1").Cells(Compteur, 49)
    
    MyDate = format(Month(.Value) & "/" & Day(.Value) & "/" & Year(.Value), "dd/mm/yyyy")
    
    End With
    

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


    因为你看到的日期和你描述的不一样。使用公式 =DATE(YEAR(G14),DAY(G14),MONTH(G14))

    它将转换:

    enter image description here

    Date 公式采用3个参数, Year,Month,Day Year,Day,Month 隐藏日期。