【发布时间】:2019-04-12 04:45:22
【问题描述】:
我正在尝试获取日期为 mm/dd/yyyy 的文件并将其重新格式化为 yyyy-mm-dd 并将该新格式输出到新工作表,但即使在运行我的 VBS 宏之后它也不会改变出生日期是正确的。我已经看到 Excel 无论如何都会将您的格式覆盖到美国存在问题。有没有办法解决?谢谢!
birthDate = Trim(CStr(Sheet1.Cells(currRawRow, "F")))
checkInput = InStr(1, birthDate, "/")
If (checkInput > 0) Then
birthYear = Year(birthDate)
birthMonth = Month(birthDate)
birthDay = Day(birthDate)
birthMonth = Format(CStr(birthMonth), "00")
birthDay = Format(CStr(birthDay), "00")
birthYear = Format(CStr(birthYear), "0000")
birthDate = (birthYear & "-" & birthMonth & "-" & birthDay)
【问题讨论】:
-
使用格式化功能即可。例如。 my_string = Format(birthDate,"yyyy-mm-dd")
-
这确实格式化了它,但是当将格式化的日期输出到新工作表中的单元格时,它不会保留格式。
-
然后将单元格的格式设置为合适的日期格式。
-
是的,但这需要打开文件的任何人都这样做,不是吗?如果它循环遍历长信息的单元格,然后输出到很多单元格,这将如何完成?
-
在您将数据粘贴到工作表
Sheet1.Range("A1:Z1000").NumberFormat = "yyyy-mm-dd"或您需要的任何内容之后。
标签: excel vba date formatting