【问题标题】:Having weird bug with date format in excelexcel中日期格式有奇怪的错误
【发布时间】:2018-07-05 10:04:59
【问题描述】:

所以我有一个 activeX 组合框,它以“dd-mm-yyyy”格式显示日期。日期取自另一张纸上的范围。我有一个链接单元格(比如说 A1),其中显示了组合框中的日期。

它适用于大多数日期,但由于某些原因,例如 10-09-2018 或 11-03-2018,它会将链接单元格中的格式更改为“mm-dd-yyyy”。

它是否对前两个值中的哪一个是日和月感到困惑?

编辑:我的范围内的单元格都是文本,我的链接单元格是日期,但是在我的链接单元格或范围内更改这些都不起作用。

我的组合框的代码,E26 是有问题的单元格,E29 只是一个单元格,我在其中添加了 2 年的日期,它始终正确显示日期。

Private Sub ProdDateCombobox_Change()
Range("E26") = Format(Me.ProdDateCombobox.Value, "dd-mm-yyyy")
Range("E29") = DateAdd("yyyy", 2, Me.ProdDateCombobox.Value)
End Sub

【问题讨论】:

  • 你能提供更多信息,比如截图等吗?
  • 当然 [正确格式]imgur.com/SWwPG4A [错误格式]imgur.com/WreOKuR 它应该始终与组合框中的格式相同
  • 好的谢谢我看看
  • 您的 windows 区域短日期设置是什么?以及文本日期如何从您的范围到组合框
  • 在我的另一张纸上,我有一个日期的命名范围,“productionList”我把它放在组合框的 ListFillRange 属性中。我的区域短日期设置设置为丹麦语,格式为“dd-mm-yyyy”,这就是为什么我可能认为它在看到 12-11-2018 时会感到困惑,它不知道哪个是月和日,因为我猜它们都可能是?

标签: excel vba


【解决方案1】:

我设法修复它!它有点“黑客”,但我只是替换了

Range("E26") = Format(Me.ProdDateCombobox.Value, "dd-mm-yyyy")

有了这个:

Range("E29") = DateAdd("yyyy", 0, Me.ProdDateCombobox.Value)

它很奇怪,我不知道它为什么有效,但它有效。感谢您提供帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多