【发布时间】:2016-09-07 12:42:46
【问题描述】:
我有一组数据 (n),大约 1500 个项目长,以 DD.MM.YYYY 格式填充 Excel 无法识别的日期。我的目标是将它们更改为 excel 可以使用的东西,我就是这样做的。
Function date_to_excel()
Call public_dims
Dim date_i As String
date_array = ThisWorkbook.Sheets("Spread").Range(Cells(7, 5), Cells(7 + n, 5))
For i = 0 To n
date_i = ThisWorkbook.Sheets("Spread").Cells(7 + i, 5)
If date_i <> "" Then
date_array = Split(date_i, ".")
date_i = date_array(1) & "/" & date_array(0) & "/" & date_array(2)
ThisWorkbook.Sheets("Spread").Cells(7 + i, 5) = date_i
End If
Next
End Function
该功能可以正常工作,但需要很长时间。 我向社区询问的是关于如何优化此循环的想法。我尝试将带有日期的整个范围添加到一个数组中并查看它,但它似乎与我的不兼容更改日期格式的方法(date_i = 接近末尾的行)。
【问题讨论】:
-
也许你可以做一个
Replace。找到.并替换为/。 -
如果您将单元格格式设置为“自定义”并将自定义格式设置为“dd.mm.yyyy”,Excel 会将单元格中的值识别为日期
-
@Zac 没办法。不工作
-
日期和月份是始终在 2 char (01..11) 还是变量 (1..11) 上?
-
对不起,那是我的错。我在单元格中用“/”尝试了日期,它有效,但如果它用“。”它不起作用。请取消我的评论