我们在excel表中输入日期的时候,结果可能是:
“2023-1-3”,“2023/1/3”,“2023.1.3",“1月3日",“1月3号",“1.3”,“1-3”......
真是五花八门,各显神通,给我们的数据处理增加了不少挑战,而且,在输入过程中,特别是要保持统一格式的时候,感觉特别费劲。
以前Excel里有一个日期控件可以轻松选择输入日期的,但现在没有了,不知是何原因。没办法,那只能一个字一个字地输入喽?非也!
今天给大家分享一个使用VBA制作的日期控件,可以便捷地输入日期:
使用方法,把下图所示窗体、类模块拖到你的文件里,再把sheet1的代码复制到相应的表格代码窗里:
代码比较多,这里就不贴了,感兴趣的看示例文件吧。
代码简析:
一、建立一个类模块DateControl,以下是各个子程序的作用:
二、新建一个窗体,Usf_DateSelect,用来选择输入日期。
三、单元格 Worksheet_SelectionChange事件代码:
四、如果要在很多表格中使用,可以把sheet1的代码复制到相应的表的代码窗,或者,如果这样有点麻烦,并且代码重复看不去不够“专业”,我们可以把在sheet1的代码全部剪切到模块1:
(一)修改程名称:
(二)在需要输入日期的表的代码窗输入以下代码:
注意事项:
(一)在使用中如果发现窗体显示大小不正常,可以调整以下语句:
这里有个问题:就是移动窗体的时候,重设控件大小,如果按照原来的宽和高则显示出来的窗体要小很多,试了很多方法都不能有效解决,只好手工来调整,勉强能用。哪位高手知道怎么搞的,还请不吝指教,先行谢过!
(二)在窗体缩放的时候,控件位置显示可能不正常:
1、如果A1单元格可见,则基本没有问题
2、如果单元格行值较大,A1单元格不可见的时候,则可能误差较大,甚至看不到控件,这时,把显示比例调整为100%即可。
3、这里也尝试调整,希望在表格缩放的情况下也能精准定位,但未能成功,想想也算了,太纠结于小细节似乎有点得不偿失(太费时间)!
领取专属 10元无门槛券
私享最新 技术干货