对于一个日期,它有效,但对于另一个日期则抛出错误-无法设置范围类的NumberFormat属性



我正在使用这些语句将某些单元格中的格式设置为mmm-dd格式。当MonthstartDate=01-03-2022(或01-06-2022(时;无法设置范围类"的NumberFormat属性;。但当MonthStartDate=2022年7月1日时,没有错误。

真的很奇怪!

最后一条语句中出现错误。

''' Get Month start date
MthName = UI.Range("J21").Value
YearNumber = UI.Range("J22").Value
Set cm = Ref.Range("D9:D20").Find(MthName)
MonthNumber = cm.Offset(0, -1).Value
MonthStartDate = DateSerial(YearNumber, MonthNumber, 1)

wsGeographyRp.Range(ColLetter & "2").NumberFormat = xlGeneral
wsGeographyRp.Range(ColLetter & "2").Value = MonthStartDate
wsGeographyRp.Range(ColLetter & "2").NumberFormat = Format(MonthStartDate, "mmm-yy") ''' Error occurs here

谢谢你的帮助。

NumberFormat接受一个字符串。Format的结果是一个字符串。当您将不同的值传递给Format时,您将获得不同的重用,因此尝试设置不同的NumberFormats。通过2022年7月1日将导致格式返回Jan-22(VBA会认为你是美国人(。

With wsGeographyRp.Range(ColLetter & "2")
.NumberFormat = xlGeneral
.Value = CDate(MonthStartDate)
.NumberFormat = "mmm-yy"
End With

最新更新