财会 让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)”格式保存才行。下一次重新打开此工作簿时会警告宏已被禁用,单击警告栏中的“启用内容”即可。