【转君以沫学习笔记】ExcelVBA:以员⼯信息查询为例,学
习操作窗体
基于“窗体”实现Excel表格内容的查询与修改。窗体,为使⽤者提供了较好的交互体验,使⽤者可以按照⾃⼰的需要实现数据的查询与修改,类似于数据库中的视图,⽤简洁明了的界⾯提供给使⽤者最关注的数据,屏蔽⽆⽤的数据信息。本⽂⽤⼀个查询员⼯信息的例⼦,简要介绍窗体的使⽤⽅法。
员⼯信息查询的例⼦
构造这样⼀个实例:某企业员⼯信息,包含姓名、性别、出⽣年⽉、政治⾯貌、学历学位等,每个员⼯的信息组合成⼀条记录,所有员⼯信息整合在⼀个Excel数据表中。样式如下:
图中信息均为随机虚构,请勿对号⼊座。
该表中只有10名员⼯信息,且员⼯信息相对较少,因此直观上看还是⽐较简洁的。但是设想⼀下,如果
该企业有上千名员⼯,每个员⼯信息包含⼏⼗甚⾄上百个字段,那⼜会是如何⼀番景象呢?如果去寻某位员⼯的某些信息,可能体验就不是那么友好了,需要好好擦亮双眼了。
每位员⼯应该都有⼀个唯⼀的员⼯号的,作为该员⼯信息记录的识别码(主键)。为了⽅便,我在这个例⼦中并未添加该字段信息,后续查也是基于姓名来的,这要求姓名不能重名,否则不能查到所有同名员⼯的信息。简要说明,能认识到这点⾜够了,问题很⼩很容易解决。
想要实现的功能
⽇常⼯作中,并不是所有的员⼯信息都会被经常⽤到,恰恰相反,经常⽤到的字段,⼀般是固定的⼏个。当表格信息较多时,去寻某个记录的某些字段信息,是⽐较耗时耗⼒的。如果可以根据提供的某条记录的标识符,就可以依据该标识符快速展⽰出属于该记录的字段数据,并且能够屏蔽其他不关⼼的数据,那么体验就会⼤幅提升。
在该例中,我们基于窗体实现了快速信息查询及修改的功能。只需要提供员⼯姓名,就可快速查出预设字段的该员⼯的数据信息。预设字段是我们关注的字段,⽐如性别、⾝份证号、政治⾯貌等。同时,预设字段也可以是表格中不存在的字段,⽐如年龄,年龄是随时间不断变化的,即使表格中有年龄数据,也可能由于更新不及时等原因,造成数据不准确。在窗体中添加年龄项,通过⼀定的运算,依据表格中的出⽣年⽉计算出年龄。这样,就可以通过姓名,随时查询每个员⼯的最新年龄信息。
查询⽰例如下图所⽰:
通过窗体显⽰数据信息,既可以屏蔽部分垃圾信息,使数据显⽰简洁友好,⼜可以形成固定的计算模板,获取原表格中不存在的字段信息,⽆需每次查询都要重新计算。除可以显⽰信息外,窗体也可以作为修改表格数据的渠道,只需要在查询数据显⽰框内,更新最新数据,提交修改即可。与直接在原表修改相⽐,因为界⾯简洁明了,不存在⼲扰信息,指向性明显,很⼤程度上降低了修改出错的可能
性。
新建窗体
vba自学好学吗下⾯抛开具体实例,简要介绍窗体的基本使⽤⽅法。
⼀、新建⼀个窗体
在“开发⼯具”中点击“查看代码”,在弹出的代码编辑框中点击“插⼊”——“⽤户窗体”,可以看到如下界⾯:
其中,UserForm1即新建的窗体,只需要在上⾯添加窗体控件即可。我们可以在属性设置中给窗体修改⼀个名字,只需要将属性(姓名)设置为需要的名称,例如“test”,如图5所⽰:
⼆、窗体⼯具箱
默认新建窗体的时候,会同步打开“⼯具箱”,这⾥重点关注⼯具箱中的五个控件选项,依次是:
√选定对象:功能类似于pdf⽂件中的⼩⼿,⽤来选中某个已建好的控件;
√标签:图2中“姓名”“性别”等⽂字标签;
√⽂字框:图2中“性别”“民族”等后⾯紧跟着⽤于填充具体值的⽂字框;
√复合框:图2中“姓名”后⾯紧跟的带有下拉选项的复合框;
√命令按钮:图2中“查询”和“提交修改”按钮。
三、新建窗体控件
新建⼀个窗体控件(标签、⽂本框、复合框等)的时候,只需要从⼯具箱中选中对应控件按钮,然后在窗体上单击即可,需要对控件进⾏简单设置。
新建“标签”:设置标签属性,如图6:
重点修改3个参数值:
√Caption:标签的⽂字内容,例如“姓名”;
√Font:调节标签⽂字字体及字号;
√TextAlign:字体对齐⽅式:左对齐、居中、右对齐。其他参数请⾃⾏学习。
新建“⽂本框”:如图7,重点修改3个参数值:
其中Font和TextAlign分别对应字体字号和⽂字对齐⽅式。
属性(名称):指定控件的名称,设置名称后,引⽤控件后就可以通过姓名.Value和姓名.Name的⽅式分别引⽤控件的值和名称了。
新建“复合框”:复合框的参数设置和⽂本框类似,重点也是(名称)、Font和TextAlign三个参数。复合框需要指定下拉选项的可选项值,⼀般通过VBA代码的形式,在窗体初始化的时候指定,后续会详细介绍。
新建“命令按钮”:同“⽂本框”,需要设置(名称)、Font和TextAlign三个参数参数,其中属性(名称)在编写命令提交执⾏代码的时候,(名称)的值即点击命令按钮时执⾏的过程的过程名。
三、运⾏窗体
在窗体设计界⾯,直接按快捷键F5即可运⾏。
窗体代码控制
窗体建好后,如何实现窗体功能呢?⾃然是通过窗体后⾯编写的VBA代码实现的。
⼀、窗体初始化
回归到员⼯信息查询的实例。假如我们已经根据⾃⾝需要,建⽴了满⾜⾃⾝需求的窗体,如图8所⽰:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。