Excel无法识别日期格式

时间:2018-06-14 09:43:10

标签: excel vba

我花了一些时间寻找答案却找不到答案 我有一个电子表格,上面有联系方式。 我有一个VBA宏,它从电子表格中提取联系人的数据,并将其显示在一系列文本框中的用户表单上,以便可以检查和更新它。其中一列包含日期。使用它的代码是:

    .tb21 = Format$(Cells(intRowUID, 21).Value, "dd/mm/yyyy")

当用户单击[确定]时,将其写回电子表格的代码为:

    Cells(intRowUID, 21).NumberFormat = "dd/mm/yyyy"
    Cells(intRowUID, 21) = Format(.tb21.Value, "dd/mm/yyyy")

这看起来有效,但是当我去电子表格并尝试过滤日期时Excel不会将其识别为日期,并且它显示在底部的过滤器下拉列表中,看起来像是文本。
Filter dropdown

如果我单击公式栏然后单击[tick] excel,则将其识别为日期,过滤器工作正常。
单元格的格式为" dd / mm / yyyy" 如何让Excel识别日期?

1 个答案:

答案 0 :(得分:2)

使用

.tb21 = Cells(intRowUID, 21).Value

并确保文本框的格式是日期格式(在文本框属性中) 然后使用

重写
Cells(intRowUID, 21).NumberFormat = "dd/mm/yyyy"
Cells(intRowUID, 21) = .tb21.Value

使用您在代码中显示的Format$,将日期转换为字符串。