日期显示与日期格式VBA

时间:2017-08-14 12:56:16

标签: vba date format display

我认为我尝试做一些不可能的事情。我在A1:A5范围内有一些日期。这些单元格必须具有日期格式,因为我想检查它们是否大于或小于某个日期。此外,我想以下列格式在A1:A5范围内显示这些日期:yyyy.mm。我认为没有办法一石二鸟。

Public Sub test()

Range("A1:A5").NumberFormat = "yyyy.mm"
Range("A1:A5") = Format(Date, "yyyy.mm")

If IsDate("A2") Then
    Range("B2") = "OK"
End If

End Sub

Range("B1:B5").NumberFormat = "yyyy.mm"更改自定义(yyyy.mm)上的单元格格式,但日期仍以未更改的形式显示(yyyy.mm.dd)

Range (“A1:A5”) = Format(Date, “yyyy.dd”)显示日期yyyy.mm但年份和月份已更改为1905.07。此外,日期没有日期格式,而是自定义。

是否真的无法显示像yyyy.mm这样的日期,但是以日期格式显示(以便在公式栏中将日期显示为dd.mm.yyyy或其他方式)以便能够将它们与不同的日期进行比较?

祝你好运, Neke

1 个答案:

答案 0 :(得分:0)

首先,在日期中使用积分可能是一个问题,因为" 2017.05"由Excel解释为数字。

您可以将日期重新格式化为" yyyy / mm"通过使用这样的东西:

For Each r In Range("A1:A5")
    r.Value = VBA.Format(r, "yyyy/mm")
Next r