我正在使用这些语句将某些单元格中的格式设置为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