我在Excel中搜索了大约一个小时,想知道如何做到这一点。
我有一个从旧系统创建的Excel文件,我正在从一个SQL Server数据库中提取信息,我将把信息输入到SQL Server数据库中,并希望日期能够匹配。
我已经尝试了创建一个自定义格式,但我不确定我是否做得正确。 我找到了几个地方,他们想把 "mm/dd/yyyy "换成 "yyyymmdd",但他们都没有帮助。
我不熟悉在任何微软产品中使用VBA,否则我确信这将是一个简单的任务。
我有两个独立的列需要改变。
我如何将整列从(float)
yyyymmdd格式化为(Date)
mm/dd/yyyy?
你可以用这样的公式将该值转换为日期,在单元格旁边。
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
其中A1是你需要转换的字段。
另外,你也可以在VBA中使用这段代码。
Sub ConvertYYYYMMDDToDate()
Dim c As Range
For Each c In Selection.Cells
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
'Following line added only to enforce the format.
c.NumberFormat = "mm/dd/yyyy"
Next
End Sub
只要高亮显示你想要修复的任何单元格,并运行该代码。
注意,正如RJohnson在评论中提到的,如果你选择的单元格是空的,这段代码会出错。你可以在c.value上添加一个条件,如果它是空的就跳过更新。