首页 > 解决方案 > VBA - 将 excel 中的日期从 datetime 更改为 mm/dd/yy(更改为字符串数据类型,而不仅仅是装饰格式)

问题描述

我正在尝试从日期格式为datetime. 目标文件只能接受mm/dd/yy上传到我们系统的格式,但我尝试的一切要么只是修饰日期格式(datetime仍然显示在公式栏中),要么将数据转换为m/d/yyyy也不起作用的数据。

以下是我尝试过的,但没有成功:

通过 VBA(仅在外观上更改格式):

[T:T].Select
With Selection
    .NumberFormat = "mm/dd/yy"
    .Value = .Value
End With

使用 VBA 使用以下公式创建一个临时帮助列 U(让我进入 m/d/yyyy:

=MONTH(T2)&"/"&DAY(T2)&"/"&YEAR(T2)

我知道我可以创建一堆条件语句来完成上述工作,但很好奇是否有一种不那么复杂的方法来解决看似非常简单的问题。

编辑:要清楚,结果可能必须存储为字符串。

标签: excelvbadate

解决方案


根据 Scott Craner 的建议,以下循环完美运行!

For i = 2 To LastRow
    Range("T" & i).NumberFormat = "@" 'Format as text to prevent excel from taking over
    Range("T" & i) = Format(Range("T" & i), "mm/dd/yy")
Next i

推荐阅读