财会 让Excel自动规范日期格式

高手坐镇

题目难度:★★★☆

读者求助: 董师傅,我经常要在Excel表格中输入日期,平时习惯以96.2.18格式输入日期,但这样的格式不规范,不能作为正文发布。有没有方法可以把输入的不规范日期格式,自动规范成标准日期呢?

你养成这个习惯有很多年了吧?看来要改是很难了,董师傅教你一招。

这种96.2.18格式的特点是除阿拉伯数字外只有两个“.”,把这个作为判断日期的标准,通过代码就可以让Excel自动规范日期格式。

在Excel 2010中打开工作表,右击该工作表标签,在弹出的菜单中选择“查看代码”,在打开的Microsoft Visual Basic窗口中输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim N, M

M = Target

For N = 0 To 9

M = Replace(M, N, "")

Next

If M = ".." Then

Target = Format(Replace(Target, ".", "-"), "yyyy-mm-dd")

End If

End Sub

代码的含义是,当单元格内容改变时运行代码进行判断,若单元格的输入值在删除所有阿拉伯数字后只剩下两个小数点,则把该单元格输入值中的“.”全部替换成“-”并按“yyyy-mm-dd”格式转换成日期。

一般我们输入的数据中很少有含两个小数点的,因此用这个规则作为判断日期的依据不容易出错。

小提示 | TIPS

由于该功能是通过编辑宏代码实现的,因此一定要把编辑的工作簿以“Excel启用宏的工作簿(*.xlsm)”格式保存才行。下一次重新打开此工作簿时会警告宏已被禁用,单击警告栏中的“启用内容”即可。