我在 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在细胞的.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"
关于vba - Numberformat 不会更改 vba excel 中的单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48938842/