使用Worksheet_Change自动将日期更改为YYYYMMDD格式

时间:2019-03-14 19:58:07

标签: excel vba worksheet-function

我正在为我所在地区的员工制作一个防错工作表。我们的系统需要通过excel工作表进行填写。与我已经添加的其他验证一起,我需要将生日日期转换为字符串/数字格式YYYYMMDD,因为将其以自定义格式夹在Excel上会在上传时在系统上造成错误(我想还是读取日期为DD / MM / YYYY。

因此,我尝试使用Worksheet_Change(),以便当用户输入任何日期作为DD/MM/YYYY时,它会自动转换为所需的结果。

If Not Intersect(Target, Columns("G")) Is Nothing Then

    On Error Resume Next

    fecnacadd = Target.Address
    fecnac = Target.Value

    fecnacadd = Format(fecnac, "yyyymmdd")

    Columns("G").NumberFormat = "General"

End If

此代码在调试时会奇怪地起作用(正确显示“ YYYYMMDD”),但按原样运行,将宏循环(?)10秒钟,并删除单元格中的内容。

我的代码中的任何提示都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

解决了该问题,并提供了日期格式证明(与DD或MM的顺序无关)。还在注释中添加了建议。谢谢!

Target Folder: $(Build.Repository.LocalPath)\Staging\Bin\Common\