数字格式不会更改 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"
我在 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"