|
我想在某一列中把身份证号按如下格式显示:
xxxxxx xxxxxxxx xxxx
就是中间两个地方空格,便于在输入时核对。
如果是手机号码,直接设置自定义格式为“000 0000 0000”即可。但身份证号是文本格式,数字格式对其无效,所以不能用这个办法。
用公式实现也不符合我的需求。因为公式只能把本单元格的文本转换到别的单元格显示。这会占用一列的屏幕空间。我想要的效果是回车、或者TAB后立即变成有空格的格式。
唯一能想到的办法是用VBA事件控制,每次离开单元格检查是否是该列,如果是,则做相应操作。但是为一个小小的格式显示,离开任何单元格都要用VBA做个判断,心里总是不舒服的。这只是一个需求。如果还有一些列也有类似的需求,离开任何单元格都可能要做多个判断,从性能考虑就更不舒服了。而且,用VBA还有一个很大的问题,当这一列之前添加了别的列,VBA代码就不对了。要想得到正确的结果,还得再增添事件。搞这么复杂,影响性能事小,要是哪里有个考虑不周全的,以后数据受损还不知不觉,那损失就大了。
我又想到一个办法,用控件显示想要的格式。这样勉强可用。但整齐的表格上多出一个控件,我自己看还行,别人看的时候就会奇怪了。
我就想要类似数字格式里那种功能,在不影响其他单元格的前提下改变文本的显示,有没有大神会的?
|
|