数字格式不会更改 vba excel 中的单元格值

Numberformat does not change cell value in vba excel

我在 A 列中将一系列数字格式化为代表日期的文本:

02 10 'which means 02 October 
03 11 'which means 03 November
04 12 'which means 04 December

我想做的是解析这个字符串,以便将其转换为正确的日期格式,这是我的代码:

Dim l As Long
Dim s As String
Dim d As Date
Columns("a").NumberFormat = "0000"
l = Range("A3").Value
s = CStr(l)
d = DateSerial(CInt(2017), CInt(Left(s, 2)), CInt(Right(s, 2)))
Range("A19").Value = d
Range("a19").NumberFormat = "mm/dd/yyyy" 

我遇到的问题是,当 A 列中的单元格值为 2 10(10 月 2 日)时,我的数字格式确实强制它变为 0210,但单元格本身的值仍然是 210,因此我的字符串解析不起作用我怎样才能绕过这个问题?

如评论中所述,Split on the cell's .Text property

Range("A19").Value = dateserial(2017, split(Range("A1").Text, chr(32))(1), split(Range("A1").Text, chr(32))(0))
Range("A19").NumberFormat = "mm/dd/yyyy"